合并成一个DataContext
本文关键字:一个 DataContext 合并 | 更新日期: 2023-09-27 18:13:28
我正在使用asp.net MVC 5,我有两个上下文,它给我的问题,当我在Azure中部署我的应用程序,因为我使用存储库模式,所以我想合并到一个DataContext。
这是我的Applicationcontext在身份模型类
public class DataContext : IdentityDbContext<ApplicationUser>
{
public DataContext()
: base("SurgeryConn")
{
}
}
这是我的DataContext
公共类DataContext: IdentityDbContext, IDbContext{
public DataContext()
: base("SurgeryConn")
{
}
//#region Properties
public DbSet<Supplier.Supplier> Supplier { get; set; }
public DbSet<Dispensary.Dispensary> Dispensary { get; set; }
public DbSet<Biochemistry> Biochemistry { get; set; }
//#endregion
public new IDbSet<TEntity> Set<TEntity>() where TEntity : class
{
return base.Set<TEntity>();
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
}
将DbSets移动到第一个上下文中,如果您使用存储库模式,您可能需要将IDContext放在第一个上下文中,如下所示:
public class DataContext : IdentityDbContext<ApplicationUser>,IDbContext
{
public DataContext()
: base("SurgeryConn")
{
}
public DbSet<Supplier.Supplier> Supplier { get; set; }
public DbSet<Dispensary.Dispensary> Dispensary { get; set; }
public DbSet<Biochemistry> Biochemistry { get; set; }
public new IDbSet<TEntity> Set<TEntity>() where TEntity : class
{
return base.Set<TEntity>();
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
}
}