3 个实体执行相同的 lambda 谓词。如何为这些实体创建通用的 lambda 表达式
我有 3 个实体。
产品
语言ID
产品名称
类别
语言 ID
猫名
产品类型
语言ID
TypeName
正如你所看到的,它们每个都有 LangID 属性。 我希望能够创建一个通用存储库,该存储库仅包含一个返回 Func
public interface IBaseRepository<T> where T : class
{
Func<T, bool> GetLmbLang();
}
public class BaseRepository<T> : IBaseRepository<T> where T : class
{
public Func<T, bool> GetLmbLang()
{
//ERROR HERE
//That dosen't work here
return (p => p.LangID == 1);
}
}
有人有一个想法???。
I Have 3 entities.
Product
LangID
ProductName
Category
LangID
CatName
ProductType
LangID
TypeName
As you can see, each of them has LangID Property.
I Would like be able to create a generic repository that will contain only one function that will return an Func<T, bool> GetLmbLang()
public interface IBaseRepository<T> where T : class
{
Func<T, bool> GetLmbLang();
}
public class BaseRepository<T> : IBaseRepository<T> where T : class
{
public Func<T, bool> GetLmbLang()
{
//ERROR HERE
//That dosen't work here
return (p => p.LangID == 1);
}
}
Someone has an idea ???.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实现此目的的一种方法是创建一个具有 LangID 属性的接口,并让每个类实现该接口。
One way you can accomplish this is by creating an interface with the LangID property, and have each of your classes implement this.