このコードを実装するのに苦労しています。誰かが助けてくれれば、本当に感謝します。
var result = (from fv in db.UsFavourites.Where(m => m.UserID == currentUserId)
join ad in db.CtArticleDetails.Where(m => m.ArticleStatusId == ConfigHelper.Published) on fv.ArticleReferenceID equals ad.ArticleReference
join pcs in db.PcPages.Where(m => m.Status == ConfigHelper.Published) on fv.PageReferenceID equals pcs.Reference
join prd in db.PrProducts.Where(m => m.ProductStatusID == ConfigHelper.Published) on fv.ProductReferenceID equals prd.ProductReference
select new FavouriteModel
{
FavouriteId = fv.FavouriteID,
Title = ad.Title ?? pcs.PageName ?? prd.Name,
Url = ad.Title ?? pcs.PageName ?? prd.Name,
ArticleReferenceID = (int)fv.ArticleReferenceID,
PageReferenceID = (int)fv.PageReferenceID,
ProductReferenceID = (int)fv.ProductReferenceID
});
基本的に、ご覧のとおり、ad、pcs、prd の 3 つのテーブルを結合しようとしています。PCS が存在しない場合、コードは無視する必要があります。誰でもアドバイスできますか?
明確にするためにデータベース設計を追加しました: