【发布时间】:2016-02-03 00:48:14
【问题描述】:
您好,我想创建一个通用的Repository 类来访问数据库。它将通过类型化的存储库进行扩展
public abstract class Repository<T>
{
protected MyContext ctx = null;
public Repository()
{
if (this.ctx == null)
{
this.ctx = new MyContext();
}
}
public T FindById(int id)
{
return this.ctx.T.Single(s => s.Id == id);
}
}
唯一的问题是T 类在this.ctx.T 中无法识别。我明白为什么,在我的上下文中没有这样的集合。我能以某种方式解决这个问题吗?
【问题讨论】:
-
MyContext 的类型是什么?它是由实体框架或其他一些 ORM 库生成的吗?
-
@JesseCarter 它是由实体框架生成的
标签: c# entity-framework generics