因此,我正在考虑创建一个通用接口(interface)来与我的对象的 DataStorage 进行交互,我可以将其换出以使用 EF4、SubSonic、NHibernate 或某些 NoSQL 选项。
所以我有一个 ERD,每个表都有一个自动递增的 int 列“TableNameID”,这是主键我试图找出如何使用通用方法中的主键从数据库中获取单个记录
public T GetSingle<T>(int primaryKey) where T : class
如何使用 EF4 执行此操作?
最佳答案
您可以通过通用 ObjectContext.CreateObjectSet() 来做到这一点.
例如:
public T GetSingle<T>(int primaryKey) where T : class
{
var q = Context.CreateObjectSet<T>().Where("it.TableNameID = @tableNameId");
q.Parameters.Add(new ObjectParameter("tableNameId", primaryKey));
return q.Single();
}
关于c# - Entity Framework 4 按 ID 加载记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2952388/