Наша компания в настоящее время использует Entity Framework Net Core 2.2 с Sql Server.
Попытка найти всех отличных клиентов, которые приобрели определенный входной параметр продукта. При попытке сделать окончательный выбор он показывает лямбда b как Продукт. Нам нужно, чтобы особые клиенты появлялись последними.
Как написать запрос EF Linq, чтобы получить его для разных клиентов?
var taxAgencyDistinctList = db.Customer
.SelectMany(b => b.Transactions)
.SelectMany(b => b.Purchases)
.Select(b => b.Product)
.Where(b => b.BKProduct == ProductInput)
.Select(b => b.).Distinct();
Эквивалентный SQL прост:
select distinct c.customerName
from dbo.customer customer
inner join dbo.Transactions transaction
on transaction.customerid = customer.customerid
inner join dbo.Purchases purchases
on purchases.PurchaseId = transaction.PurchaseId
inner join dbo.Product product
on transaction.ProductId = product.ProductId
where tra.BKProduct = @ProductInput
Компания предпочитает метод, при котором мы не используем Linq для Sql, если это возможно.
Ресурсы:
Фильтрация при включении в EF Core