小编Moh*_*sin的帖子

Entity Framework Core 2 - 代码优先不创建表

Entity Framework Core 2.0最近发布,我正在使用它。

我在文件 Startup.cs 的 ConfigurationServices() 方法中添加了以下行(我的连接字符串很好)。

services.AddDbContext<AutoPartsContext>(options => 
options.UseSqlServer(Configuration.GetConnectionString("NetCore")));
Run Code Online (Sandbox Code Playgroud)

在配置方法中,

using (var serviceScope = 
app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
{
var context = 
serviceScope.ServiceProvider.GetRequiredService<MyConntectionStringName>();
context.Database.Migrate();
context.Database.EnsureCreated();
}
Run Code Online (Sandbox Code Playgroud)

这是创建数据库而不是表。当我在我的桌子上进行简单的计数时,

var a = _context.Users.Count();
Run Code Online (Sandbox Code Playgroud)

它抛出以下异常

无效的对象名称“用户”。在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,Boolean breakConnection,Action`1 wrapCloseInAction)

但是,如果我手动创建表,一切正常。我需要自动创建所有表。

EF Core 版本:2.0,数据库提供程序:Microsoft.EntityFrameworkCore.SqlServer,操作系统:Windows 10,IDE:Visual Studio 2017 Preview 2

c# entity-framework visual-studio-2017 .net-core-2.0

4
推荐指数
1
解决办法
1万
查看次数