【发布时间】:2017-02-07 06:30:26
【问题描述】:
我有两个选项来过滤我的查询:
var users = query.Select(x => x.User).FindUsers(searchString);
query = query.Where(x => users.Contains(x.User));
或
var userIds = query.Select(x => x.User).FindUsers(searchString).Select(x => x.Id);
query = query.Where(x => userIds.Contains(x.UserId));
FindUsers分机说明:
static IQueryable<User> FindUsers(this IQueryable<User> query, string searchString);
那么我最终会在 SQL 中得到什么?这两个请求中哪一个对性能更好?
如果有人有其他建议,请写在答案中。
提前致谢!
【问题讨论】:
标签: c# performance entity-framework linq linq-to-sql