我有一个属性OnHomePage
,这是一个布尔。
我正在尝试根据是否从linq查询返回结果来设置此值。显然我可以编写一个外部方法来确定我的查询结果是否为null或者它是否包含值但是我希望有更好的方法可以在一行中完成。
这是我目前的代码行:
OnHomePage = im.PageImages.Select(p => p.ImageId == im.Id
&& p.Page.PageName == "/Home")
答案 0 :(得分:4)
您可以使用Any Extension Method来确定查询是否给出任何结果:
OnHomePage = im.PageImages.Any(p => p.ImageId == im.Id
&& p.Page.PageName == "/Home");
答案 1 :(得分:3)
您应该使用.Any
简单地结束查询:
OnHomePage = im.PageImages.Where(p => p.ImageId == im.Id
&& p.Page.PageName == "/Home")
.Any();
或者,首先直接使用Any
的其他重载:
OnHomePage = im.PageImages.Any(p => p.ImageId == im.Id
&& p.Page.PageName == "/Home");
答案 2 :(得分:2)
OnHomePage = im.PageImages.Where(p => p.ImageId ==
im.Id && p.Page.PageName == "/Home").Any();
答案 3 :(得分:0)