public static IEnumerable<supplier> Contains(IEnumerable<int> IDList){ return supplierVIEw.Select().Where(x => IDList.Contains(x.ID));}
这些方法查询我的EF存储库,有时我需要传递一些变量来获取我需要的数据.
鉴于我的supplier实体已经存在,我正在考虑使用类创建我的查询扩展方法,如下所示:
public static IEnumerable<supplier> GetSimilar(this supplier s) { return supplierVIEw.Select().Where(/* the criteria matches */)); }
它只会用于查询数据 – 但由于我将扩展方法基于整个实体,我不确定这是否是一个很好的设计理念 – 但传递params /验证它们当然更方便.
我已经为我的主要实体设置了一个部分类,但我倾向于添加属性,低影响力的东西.
有什么想法吗?
解决方法 供应商是您自己的一类吗?如果是,那么我建议只扩展该类 – 而不是强加扩展方法.
如果它是由EF从数据库生成的类,它是一个公共的分部类,因此您可以在第二个文件中轻松地为供应商编写其他方法,也可以使用公共部分类 – 然后在编译时将这些方法合并到一个.NET类中.
我喜欢扩展方法,它们很有意义 – 如果你需要将方法添加到你无法控制的类中 – 例如.NET框架类或第三方类.
总结以上是内存溢出为你收集整理的c# – 课堂上的扩展方法 – 好主意还是坏主意?全部内容,希望文章能够帮你解决c# – 课堂上的扩展方法 – 好主意还是坏主意?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)