我正在尝试在我的 API 中创建模型构建器,但似乎无法添加.HasRequired()
到我的代码中。我假设这是因为它存在于内部DBModelBuilder
,但是,我也不能添加。
它只允许我使用ModelBuilder
. 否则会抛出错误:OnModelCreating(DbModelBuilder): no suitable method found to override
我在这里错过了什么吗?
我的 DbContext 看起来像这样:
public class TicketContext : DbContext
{
public DbSet<Tickets> Tickets { get; set; }
public DbSet<Users> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) // <-- Not allowing me to add DbModelBuilder here
{
modelBuilder.Entity<Tickets>().HasRequired(t => t.Users);
}
}
更新
我(作为测试)从头开始了一个新项目。我使用 Web API 模板创建了一个新的 ASP.NET 5.0 项目。我的项目立即无法识别DbModelBuilder
。我添加了对 EntityFramework.dll 的引用,但仍然没有好处。然后我添加using System.Data.Entity;
并接受DbModelBuilder
,但仍然抱怨找不到命名空间“DbModelBuilder”。
我不明白我怎么能在一个全新的项目中预先出现这个错误?
一旦我尝试从 NuGet 添加包 Entity Framework,我就会收到更多错误,即版本 6.1.3 与 DNX Core 5.0 不兼容
我似乎找不到任何这些错误的示例/解决方案。
更新 2
我现在设法通过将 EntityFramework.dll 引用添加到 DNX Core 5.0 程序集以及 DNX 4.5.1 程序集来识别 DbModelBuilder,但是,现在它已经引发了更多错误,需要添加 System.Core 和 mscorlib。我真的不敢相信创建一个(我认为很简单的)Web API 项目有多么麻烦。