【发布时间】:2016-08-22 15:45:42
【问题描述】:
我想为所有存储库编写一个类泛型
我有一个类实体(产品、价格、....)
和接口 IRepository
public interface IRepository<T>
{
Dictionary<int, T> myProduct { get; set; }
IEnumerable<T> List { get; }
void Add(T entity);
void Delete(T entity,int key);
void Update(T entity,int key);
T FindById(int Id);
}
我可以为每个业务对象编写我的存储库,例如 ProudductRepository、priceRepository、.....
但我需要像这样实现一个通用的东西
public class Repository<E, C> : IRepository<E>
我将它用于我的所有业务对象,而不是一个 foreach 实体
【问题讨论】:
-
好的,你可以这样做。现在你的问题是什么?
-
'但我需要实现为泛型' -> 为什么?
-
我知道可以这样做,但是怎么做
-
顺便说一句,如果您在实体框架之上使用此抽象,我个人建议不要这样做。通用存储库和 EF 的工作单元往往会在功能方面给您留下巨大的漏洞。
-
是的,我已经使用了基于存储库的实体框架。但我需要它的另一部分
标签: c# entity-framework repository repository-pattern