【发布时间】:2010-08-07 20:52:35
【问题描述】:
所以我正在尝试为基础存储库类创建一个通用的按 ID 选择方法。为了实现这一点,我将 EF4 与 POCO 一起使用。我用一个名为 Id 的 getter 创建了一个接口,并成功修改了 T4 模板,以便在所有返回 PK 的实体中都有一个通用的 Id 属性。
当我使用查询时,问题就来了。我是这样实现的:
public virtual T GetByID(int id)
{
return Database.ObjectSet<T>().SingleOrDefault(entity => entity.Id == id);
}
即使 ObjectSet 返回的所有实体都使用其当前主键值设置了 Id 属性,但我收到了一个奇怪的错误:
指定的类型成员'Id'不是 在 LINQ to Entity 中支持。仅有的 初始化器、实体成员和 实体导航属性是 支持。
我错过了什么吗?
【问题讨论】:
标签: c# entity-framework entity-framework-4