对实体使用Linq是否存在以下区别?
db.EntityName.Where(a => a.Id == id).FirstOrDefault();
db.EntityName.FirstOrDefault(a => a.Id == id);还是仅仅是个人喜好的问题?
谢谢。
发布于 2013-11-07 17:43:01
这两个语句都生成相同的SQL语句。第二种方法更短,而第一种方法对一些开发人员来说可能更清楚。归根结底,这是个人喜好的问题。
可以使用 method检查SQL。
发布于 2022-04-04 10:17:57
我对这两种说法有不同的看法。我认为至少较早的EF-版本对这两个子句的处理方式不同,特别是当有可能查询结果为"null“时。
不确定这是否已经修复,但是我的脊柱仍然使用第一个版本:
db.EntityName.Where(a => a.Id == id).FirstOrDefault();
https://stackoverflow.com/questions/19842794
复制相似问题