为了最大限度地减少从SQL服务器传输到应用服务器(IIS)的数据,我想知道人们是否使用纯LINQ to Entites进行排序,过滤和分页。 “纯LINQ”是指没有手写的SQL语句或视图/存储过程。
我发现一些文章有用,例如:
但是它们没有涵盖我需要的所有功能,所以我正在编写自己的帮助程序类以满足以下要求:
如前所述,我希望它们可以使用“纯粹的”LINQ to Entities并在数据库端执行。这是一个好主意还是你建议使用存储过程?
非常感谢任何建议或代码样本。
答案 0 :(得分:0)
您可以在没有存储过程的情况下使用Entity Framework,只需稍加注意,您就可以与最重要的数据库兼容 对于多列排序,您可以使用
OrderBy(x => x.a).ThenBy(x => x.b)...
对于连接,您可以导航树模型(在查询中,否则激活延迟加载) 分页是
Skip/Take
您可以在同一Where语句中使用布尔表达式来测试多个条件
context.Persons.Where(p => p.Name == "me" && p.Age == 15)
并添加不同的where语句。
tbl.Where(...).Where(...)
使用AND
插入查询中的2条件我不使用存储过程,因为它与不同的DBMS兼容,但有几个人这样做。