我有一个代码第一个 DbContext 应该是创建一个新的数据库,但是经过几次尝试,数据库不存在,并且我在ctx.Statuses.ToList()
下面的代码中得到一个 Sequence contains no elements 错误:
static void Main(string[] args)
{
var ctx = new EtbDbContext();
EtbDbContext.Init();
var s = ctx.Statuses.ToList();
var l = ctx.Logins.ToList();
var u = ctx.Users.ToList();
}
该Init()
方法说:
public static void Init()
{
Database.SetInitializer(new DropCreateDatabaseAlways<EtbDbContext>());
}
当我收到错误并在“立即”窗口中检查我的连接字符串时,它符合配置和预期:
?ctx.Database.Connection {System.Data.SqlClient.SqlConnection} .. ConnectionTimeout: 15 Database: "EtbCodeFirst" DataSource: "BRADY-PC" ServerVersion: 'ctx.Database.Connection.ServerVersion' 抛出了一个'System'类型的异常.InvalidOperationException' 状态:已关闭
数据源 BRADY-PC 上不存在这样的数据库,因此在尝试查询数据库之前我应该会遇到连接错误。我既生气又困惑,真的希望有人能在我今天回到 DB 第一开发之前提供帮助。
我还检查了我的(localdb),但仍然没有数据库。即使是流氓 EF 代码也没有其他地方可以创建该死的数据库。