Я получаю дубликаты на Item_Nbr, и мне нужно получить Distinct только для Item_Nbr.
Так как это Proq в Sql в Proxy, который вызывает этот WebApi, я не могу использовать GroupBy или Distinct напросто это поле, поэтому мне нужно как-то добавить его к существующему запросу.
Это запрос, который я использую:
var entities = new RetailItemEntities(RetailItemConnector.ItemConnectionString);
var query = from a in entities.ItemAssortments
join c in entities.Items on a.Assortment_Nbr.ToString() equals c.ItemNumber
join d in entities.ItemStatuses on c.ItemId equals d.ItemId
join e in entities.ItemUpcs on c.ItemId equals e.ItemId
join f in entities.Upcs on e.UpcId equals f.UpcId
join ci in entities.Items on new { ItemNumber = a.Item_Nbr.ToString() } equals
new { ItemNumber = ci.ItemNumber } into tempsa1
from ci in tempsa1.DefaultIfEmpty()
join di in entities.ItemStatuses on new { ItemId = ci.ItemId } equals
new { ItemId = di.ItemId } into tempsa2
from di in tempsa2.DefaultIfEmpty()
join ei in entities.ItemUpcs on new { ItemId = ci.ItemId } equals
new { ItemId = ei.ItemId } into temps3
from ei in temps3.DefaultIfEmpty()
join fi in entities.Upcs on new { UpcId = ei.UpcId } equals
new { UpcId = fi.UpcId } into tempsa4
from fi in tempsa4.DefaultIfEmpty()
where a.AuditYear == 2018 && a.Assortment_Nbr == itemNumber
orderby a.Assortment_Nbr, a.Item_Nbr
select new ItemAssortmentDto
{
AssortId = a.AssortId,
//Assortment_Nbr = a.Assortment_Nbr,
ItemDescription1 = c.ItemDescription,
UpcCode1 = f.UpcCode,
VendorStockNumber1 = c.VendorStockNumber,
ItemInvoiceStatus1 = d.ItemInvoiceStatus,
Item_Nbr = a.Item_Nbr.Value,
ItemDescription2 = ci.ItemDescription,
UpcCode2 = fi.UpcCode,
VendorStockNumber2 = ci.VendorStockNumber,
ItemInvoiceStatus2 = di.ItemInvoiceStatus,
Item_Qty = a.Item_Qty.Value
};
return query;