如何在C#中抽象实体数据上下文

在我的应用程序中,我创建了一个带有Repository类的DAL.存储库使用一组EF类作为数据上下文.

我想创建一个抽象,以便能够在同一个存储库中使用多个Data Context.我使用以下代码初始化上下文(ProductEntities是EF上下文):

public class ProductRepository : IProductRepository
{
     ?type? _productEntitiesContext;

     public productRepository()
     {
         _productEntitiesContext = new ProductEntities();
     }

     public productRepository(?type? productContext)
     {
         _productEntitiesContext = productContext;
     }
}

但是我不知道_productEntitiesContext(和productContext)的类型. ProductEntities继承自ObjectContext.

为了实现抽象,我总是使用接口,因为它是一个类,所以我不知道是否可以使用ObjectContext.

有人知道我的目标是否可以实现?

解决方法:

像这样吗

public class ProductRepository<T> : IProductRepository where T: new()
{
     T _productEntitiesContext;

     public productRepository()
     {
         _productEntitiesContext = new T();
     }

     public productRepository(T productContext)
     {
         _productEntitiesContext = productContext;
     }
}
上一篇:日常记录(35)UVM的phase


下一篇:build_phase()与build()的关系