有关实现DBContext的问题

时间:2019-11-04 09:50:00

标签: asp.net-mvc entity-framework dbcontext

我是Asp.net世界中的新对象,所以我有一些疑问:-

1-我们什么时候不只创建一个DBContext的实现者类? 2-在常见模式中,我看到从DBcontext派生的哪个类的每个实体都具有属性DBSet 那么为什么我们要这样做呢? 对我来说,我只创建一个通用存储库,也创建一个DBContext的类实现程序,它没有任何属性DBSet。是严格的模式吗?

感谢您的答复

2 个答案:

答案 0 :(得分:0)

  1. 如果有多个数据库,则可以为每个数据库提供一个上下文。
  2. DBSet代表数据库中的表

答案 1 :(得分:0)

关于第2点,始终我根本不会在DBContext实现器中的任何表中填充任何DBSet属性,只有在通用存储库的实现器中填充它(在下面解释)。所以我再次问这个问题,这是正确的做法吗?

private DbSet<T> dbSet;
private StoreEntities storEntites;

protected IDBFactory dbFactory { get; set; }
protected StoreEntities DbContext
{
    get { return storEntites ?? (storEntites = dbFactory.init()); }
}

protected GenericReprositry(IDBFactory dbfactrty)
{
    dbFactory = dbfactrty;
    dbSet = DbContext.Set<T>();

}