tgg*_*ggm 10 entity-framework ef-code-first ef-migrations entity-framework-6
我正在使用EF6开发一个插件应用程序,代码优先.
我有一个主要的上下文与一个名为的实体User:
public class MainDataContext : DbContext
{
public MainDataContext(): base("MainDataContextCS") {}
public DbSet<User> Users { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后是PluginX的另一个上下文,在另一个引用基类的项目上:
public class PluginDataContext : DbContext
{
public PluginDataContext () : base("MainDataContextCS") {
}
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
modelBuilder.HasDefaultSchema("PluginX");
base.OnModelCreating(modelBuilder);
}
public DbSet<Booking> Bookings { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这可以在同一个数据库(相同的连接字符串)上整齐地创建PluginX.Bookings表.
这里的问题是Booking实体包含对实体的引用User:
public class Booking
{
public int Id { get; set;}
public virtual User CreationUser { get; set;}
public BookingStatus Status { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当运行Add-Migration插件上下文时,EF将尝试创建另一个User名为的实体PluginX.User.
怎么解决这个问题?有没有办法在另一个实体中共享一个共同的实体DbContext?
当您使用多个上下文时,您有两个选择:
| 归档时间: |
|
| 查看次数: |
6017 次 |
| 最近记录: |