在实体框架中,执行此操作是否有任何性能成本......
var businesses = dbContext.Businesses.Where(x => x.Name.ToLower().StartsWith(name) && businessTypes.Contains(x.Type));
......对比这个?
var businesses = dbContext.Businesses.Where(x => x.Name.ToLower().StartsWith(name)).Where(x => businessTypes.Contains(x.Type));
我更喜欢做后者,因为它更容易阅读,但如果生成的SQL出现严重的性能损失则不行。
答案 0 :(得分:3)
不存在性能成本 - EF Linq提供程序将两者映射到同一SQL查询。我个人觉得第一个版本更具可读性。