在 Linq2Sql 中,可以进行如下查询:
using (var db = GetDataContent())
{
var query = from p in db.Brands
where p.Deleted == false
select new BrandImageSummary
{
BrandID = p.BrandID,
BrandUrl = p.BrandUrl,
Description = p.Description,
MetaDescription = p.MetaDescription,
MetaKeywords = p.MetaKeywords,
MetaTitle = p.MetaTitle,
BrandImageUrl = (from p2 in db.SiteImages where p2.FileTypeID == 5 && p2.ForeignID == p.BrandID && p2.Deleted == false orderby p2.Rank select p2.Filename).FirstOrDefault(),
Deleted = p.Deleted,
SupplierCode = p.SupplierCode,
Title = p.Title,
Website = p.Website
};
return query.ToList();
}
BrandImageUrl 是一个嵌套选择。但是在实体框架中,我似乎得到了错误:
无法创建“SiteImage”类型的常量值。此上下文仅支持原始类型或枚举类型。
有没有办法在实体框架中做到这一点?
查询的想法是获得一个品牌形象,如果我要加入,并且有多个图像,我会得到多行,我不想要这个。
我正在使用实体框架 5。
谢谢你的帮助