(实际上我们已经不用 EF,重新用户 SqlHelper) 限制 EF 查询的字段列表其实很必要,起码对于单纯查询的语句(不更新数据库),应该支持。假设解析所谓的selectLamda 很麻烦,我们起码可以考虑字段“降维”,例如写db.Set<T>().Where(whereLambda).Select2("FieldA","FieldB","PropertyC",......).ToList()这类扩展函数,返回的结果实体中凡是没有在属性列表中的那些字段,只要给个默认值(例如0、false、null等)就行了,根本不需要从数据库加载值。
db.Set<T>().Where(whereLambda).Select2("FieldA","FieldB","PropertyC",......).ToList()
用dynamic linq https://weblogs.asp.net/scottgu/dynamic-linq-part-1-using-the-linq-dynamic-query-library 它可以选择特定的列
110,534
社区成员
642,575
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧