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

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

Entity Framework Core 2.0 已经 recently released我正在使用它。

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

services.AddDbContext<AutoPartsContext>(options => 
options.UseSqlServer(Configuration.GetConnectionString("NetCore")));

在Configure方法中,

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

这是创建数据库而不是表。当我对我的 table 进行简单计数时,

var a = _context.Users.Count();

抛出以下异常

Invalid object name 'Users'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

但是,如果我手动创建表格,一切都会完美无缺。我需要自动创建所有表。

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

最佳答案

您需要为此使用迁移,因为以前存在于 Core EF 中的数据库初始化程序不再可用。

请引用Migrations - EF Core with ASP.NET Core MVC tutorial .

关于c# - Entity Framework Core 2 - 代码优先不创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45859925/

相关文章:

c# - 如何通过查找器界面在 Entity Framework 4 中查找实体? (适用于 Linq To Sql)

visual-studio - 使用 vs 2017 的 rust 扩展为 visual studio 2017 配置 rustup

c++ - 在 C++ 中使用 gRPC 时未解析的外部符号

c# - 杀死一个敌人会导致所有敌人消失 - C# Unity

c# - 在 Visual Studio 2010 中调试时如何设置 IIS?

c# - 将 Entity Framework 升级到 6.1 - 索引已存在错误

c++ - 如何在 Visual Studio 2017 中使用 VC++ 包含目录的子文件夹

c# - 如何通过检查行是否包含特定文本来使字符串获取列表框特定行的文本?

c# - 是否可以在派生类或任何其他类中调用抽象类的方法

asp.net-mvc - 基于 View 模型属性的网格排序