public interface IEntite
{
int Id { get; set; }
string NomEntite { get; }
}
public class SpecIdEntite<TEntite> : CompositeSpecification<TEntite> where TEntite : IEntite
{
private int _id;
public SpecIdEntite(int id)
{
_id = id;
}
public override Expression<Func<TEntite, bool>> IsSatisfiedBy()
{
return candidate => (candidate != null && candidate.Id == _id);
}
}
当我尝试这个规范时,我得到了这个错误:“无法将类型'类型名称'转换为类型'X'。LINQ to Entities 仅支持转换实体数据模型原始类型。”
有人知道如何实现这个概念吗?
我所有的实体都有一个 Id 属性,我想使用通用规范