0
Если у меня есть lystId, я хочу включить объект MemberProductLyst и фильтр с помощью LystId.Как создать следующий LINQ .join(), если представлен дополнительный элемент фильтра?
Любые предложения по правильному способу реализации последующего кода Lamba внутри if (! String.IsNullOrEmpty (lystId)) {} блок ниже исходного запроса ???
products = (from p in dc.Products
join t in dc.Tags on p.TagId equals t.TagId
join pi in dc.ProductImages on p.ProductId equals pi.ProductId
join i in dc.Images on pi.ImageId equals i.ImageId
where p.IsActive == true
where t.TagId == new Guid(brandId)
orderby p.CreatedOn descending
select new ProductItem
{
productImage = i.FileName,
productId = p.ProductId,
description = p.Description,
name = p.Name,
adImage = t.AdImage
}).Skip(totalItemCount).Take(pageSize);
if (!string.IsNullOrEmpty(lystId))
{
//Include MemberProductLyst table to Filter by lystId if LystId is available
var memberLysts = from mpl in dc.MemberProductLysts
where mpl.LystId == new Guid(lystId)
select new { mpl.LystId, mpl.ProductId };
products = (IQueryable<ProductItem>)products.Join(memberLysts, p => p.productId, mpl => mpl.ProductId, (p, mpl) => new {ProductItem = p, MemberProductLyst = mpl });
}
ли цель объединения, чтобы отфильтровать определенные продукты, которые дон У вас есть совпадения или для обеспечения множественности экземпляров продуктов, связанных с одним и тем же lyst несколько раз? Или вы действительно хотите получить информацию о memberProductLysts, связанных с данными продуктами? – StriplingWarrior