我一直在使用代码优先的实体框架。我在 web.config 中定义了一个连接,其名称与我的 DbContext 的类名匹配(在本例中为“MyDbContext”)。
当数据库存在时,EF 使用此连接没有问题。
但是,如果我删除数据库(以强制 EF 重新创建它),EF 会在本地 Sql Express 服务器上创建数据库。
如果我在 DbContext 类构造函数中指定完整的连接字符串,例如
public class ReykerSCPContext : DbContext
{
public ReykerSCPContext() :
base("Server=tcp:MyDBSErver.database.windows.net,1433;Database=MyDB;User ID=#######;Password=#######;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;PersistSecurityInfo=True;") { }
}
然后在选择的服务器上正确创建数据库。伟大的!
谁能告诉我这是否是正确的行为,因为我正在猛烈抨击我的大脑。我希望这一切都可以从 web.config 中工作,所以我不需要重新构建并记住更改代码等中的设置。