Получить отдельный элемент из запроса linq to sql в WebApi - PullRequest
0 голосов
/ 19 июня 2019

Я получаю дубликаты на 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;
...