Linq to sql 使用int从Linq到SQL?使用空值
我在Linq到SQL查询中遇到一些问题 现在,如果我运行这个请求,一切都会正常运行,我会得到正确的结果(2行) 但是如果我做了以下操作,我只会得到一个空列表Linq to sql 使用int从Linq到SQL?使用空值,linq-to-sql,Linq To Sql,我在Linq到SQL查询中遇到一些问题 现在,如果我运行这个请求,一切都会正常运行,我会得到正确的结果(2行) 但是如果我做了以下操作,我只会得到一个空列表 var menu = new WikiMenu(); menu.ParentId = null; return _repository.GetMenus() .Where(x => x.ParentId == menu.ParentId && x.WikiId == 1)
var menu = new WikiMenu();
menu.ParentId = null;
return _repository.GetMenus()
.Where(x => x.ParentId == menu.ParentId && x.WikiId == 1)
.ToList();
但是,如果menu.ParentId
是其他值,那么null就可以正常工作
这是模型菜单
public class WikiMenu
{
public int? Id { get; set; }
public int WikiId { get; set; }
public int PageId { get; set; }
public string Title { get; set; }
public int Order { get; set; }
public int? ParentId { get; set; }
public List<WikiMenu> SubMenu { get; set; }
}
您可以尝试使用以下代码:
return _repository.GetMenus().
Where(x => object.Equals(x.ParentId, menu.ParentId) && x.WikiId == 1).ToList();
此代码段将强制Linq2SQL生成类似
其中[table0].[parentId]为NULL
而不是其中[table0].[parentId]==NULL
希望这有帮助。您可以尝试使用以下代码:
return _repository.GetMenus().
Where(x => object.Equals(x.ParentId, menu.ParentId) && x.WikiId == 1).ToList();
此代码段将强制Linq2SQL生成类似
其中[table0].[parentId]为NULL
而不是其中[table0].[parentId]==NULL
希望这有帮助
return _repository.GetMenus().
Where(x => object.Equals(x.ParentId, menu.ParentId) && x.WikiId == 1).ToList();