我正在使用Entity Framework,我有8个项目:
IQueryable<Project> projects = _context.Projects.AsQueryable();
Boolean? a = null;
projects = projects.Where(x => a == null);
var result = projects.ToList();
不应该有8个项目吗?我没有......
更新1
在我的项目代码中,我正在做的是:
var result = projects.Where(x => x.IsActive == query.IsActive || query.IsActive == null);
所以我只有在query.IsActive不为null时才会被激活...
更新2
我刚刚尝试了以下内容:
var c = await projects.Where(x => true).Select(x => x.Id).ToListAsync();
var b = await projects.Where(x => condition == null).Select(x => x.Id).ToListAsync();
得到了疑问:
SELECT [x].[Id]
FROM [Projects] AS [x]
WHERE 1 = 1
SELECT [x].[Id]
FROM [Projects] AS [x]
WHERE @__condition_0 = NULL
答案 0 :(得分:1)
关闭,因为这是一个Entity Framework Core RC2错误: https://github.com/aspnet/EntityFramework/issues/5499