名称'modelBuilder'在当前上下文中不存在

时间:2017-12-21 04:14:24

标签: entity-framework entity-framework-core asp.net-core-2.0

我收到此错误实体框架核心中当前上下文中不存在“modelBuilder”名称,我正在使用Visual Studio 2017和Asp.Net Core 2.0

在Entity Framework 6中,我们使用以下代码来拆分实体。现在我使用Visual Studio 2017和Entity Framework Core 2.0,并在使用modelBuilder.Entity<>()

时获取“当前上下文中不存在名称'modelBuilder'”

我认为现在更清楚了解。

public partial class Model : DbContext  
{  
   public Model() : base("name=EntityModel")  
   {  
      Database.Log = Console.WriteLine;  
}  
public virtual DbSet<Employee> Employees { get; set; }  

protected override void OnModelCreating(DbModelBuilder modelBuilder)  
{  
  modelBuilder.Entity<Employee>()  
  .Map(map =>  
  {  
  map.Properties(p => new  
  {  
     p.EmployeeId,  
     p.Name,  
     p.Code  
  });  
  map.ToTable("Employee");  
  })  
  // Map to the Users table  
  .Map(map =>  
  {  
  map.Properties(p => new  
  {  
     p.PhoneNumber,  
     p.EmailAddress  
  });  
  map.ToTable("EmployeeDetails");  
  });  
 }  
}

1 个答案:

答案 0 :(得分:0)

现在不可能采用这种方法。看https://github.com/aspnet/EntityFrameworkCore/issues/620

你也应该使用:

protected override void OnModelCreating(ModelBuilder modelBuilder)

ModelBuilder而不是DbModelBuilder
ModelBuilder.Entity&lt;&gt;()不包含地图