鉴于entities
是IDbSet<Entity>
,并且以下表达式为:
entities.Where(e => e.EntityID == 27).AsNoTracking().SingleOrDefault();
以下替代表达式同样有效(删除Where
并将其条件置于SingleOrDefault
):
entities.AsNoTracking().SingleOrDefault(e => e.EntityID == 27);
答案 0 :(得分:0)
生成的SQL
对于两个表达式都是相同的,所以是的,它们是相同的。您应该为您的项目选择一个约定并坚持下去。就个人而言,这只是我的观点,我更喜欢使用.Where()
,因为我觉得它更容易阅读:
entities
.Where(e => e.EntityID == 27)
.AsNoTracking()
.SingleOrDefault();