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' の定数値を作成できません。このコンテキストでは、プリミティブ型または列挙型のみがサポートされています。
エンティティフレームワークでこれを行う方法はありますか?
クエリのアイデアは、1 つのブランド イメージを取得することです。結合する場合、複数のイメージがあった場合、複数の行が取得されるため、これは望ましくありません。
Entity Framework 5 を使用しています。
ご協力いただきありがとうございます