[英]Help with LINQ to SQL query
我通常做的很好,但是由于某种原因,我无法弄清楚为什么这个特殊的查询使我败北。
为了简单起见,这里是数据库(Brand和PageTitle):
PageTitle只是一个用于保存SEO数据的表(每个Brand
只有一行)
我想:从PageTitle
中选择一行,其中brands = p(保存查询字符串值的变量)
这是我要尝试做的一个示例(如果PageTitle
中没有该品牌的记录,我不想抛出错误)。
var pages = da.PageTitles.Where(x => x.Brands.Single(z => z.BrandID == p)).SingleOrDefault();
if (pages.Any())
{
txtSeoTitle.Text = pages.Title;
txtSeoMetaKeywords.Text = pages.Keywords;
txtSeoMetaDesc.Text = pages.Description;
}
除非我缺少明显的东西,否则您不能这样做:
var page = db.PageTitles
.FirstOrDefault(x => x.Brands.Any(y => y.BrandId == p));
如果返回多个行, SingleOrDefault
将引发异常,因此我认为您需要FirstOrDefault
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.