gpt4 book ai didi

asp.net-mvc - 即使连接字符串在 Entity Framework 中具有错误的数据库名称,DataBase.Exist() 也会返回 true

转载 作者:行者123 更新时间:2023-12-03 05:05:31 25 4
gpt4 key购买 nike

我是 EF 5.0 的新手,我故意在 Web.Config 中的连接字符串中设置了错误的数据库名称。即初始目录=“错误的数据库名称”;

现在我创建了一个 bool 属性,它检测数据库是否存在。如下所示 - 其中上下文是 EFDbContext。

bool IsDatabaseExist = context.DataBase.Exists();

我的问题是,为什么这总是显示 true,即使我提供的数据库名称是错误的?

最佳答案

如果您没有向 DbContext 派生类的构造函数提供连接字符串,则您没有使用连接字符串。最简单的方法是在调用 DbContext 构造函数的 DbContext 派生类中创建一个无参数构造函数 - 如下所示:

public class MyContext : DbContext
{
public MyContext() : base("name=connectionStringName")
{ }
...
}

connectionString name 是配置文件中的连接字符串的名称。

如果您想检查您的应用程序正在使用什么连接字符串,您可以执行以下操作:

((SqlConnection)myContext.Database.Connection).ConnectionString

这里的myContext是DbContext派生类的实例

关于asp.net-mvc - 即使连接字符串在 Entity Framework 中具有错误的数据库名称,DataBase.Exist() 也会返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12885116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com