Mic*_*Man 5 .net c# entity-framework
我有以下代码
return
this.Storage.Customer.OfType<Preferred>()
.Include(b => b.Order)
.Where(cust => cust.Id == customerId && cust.CustomerType== (int)cusType)
.SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)
它可以改写如下消除where.
return
this.Storage.Customer.OfType<Preferred>()
.Include(b => b.Order)
.SingleOrDefault(cust => cust.Id == customerId && cust.CustomerType == (int)cusType);
Run Code Online (Sandbox Code Playgroud)
哪一个更好实践,为什么?
首先你需要明白其中的区别
this.Storage.Customer.OfType<Preferred>()
.Include(b => b.Order)
.Where(cust => cust.Id == customerId && cust.CustomerType== (int)cusType)
Run Code Online (Sandbox Code Playgroud)
这只会创建一个查询,但在调用 ToList 方法之前不会执行。
SingleOrDefault 方法将实际执行查询。因此,如果您想在执行查询之前对其进行检查或执行某些操作,则应使用 where ,然后调用 SingleOrDefault。
总的来说,根据我个人的意见,使用 where 是很好的做法
| 归档时间: |
|
| 查看次数: |
6129 次 |
| 最近记录: |