나는 기본적으로Linq에 최대 날짜 별 엔티티 그룹
나는 지난 5 개 주문 목록을 얻기 위해 찾고 아래 SQL을 기반으로 Linq에 엔티티에 대한 쿼리를 작성하는 것을 시도하고있다가, 주문 날짜가에있는에 가입하세요 뷰에 열거되고
var query = Context.Titles
.Include(x => x.MisAccount)
.Include(x => x.TitleDetails)
.Where(x => x.TitleDetails.Any());
if (!string.IsNullOrEmpty(model.MisCustomer))
{
query = query.Where(x => x.MisAccount.Code == model.MisCustomer);
}
if (!User.IsInRole(Permission.CanAccessAllCustomers.ToString()))
{
var predicate = PredicateBuilder.False<Title>();
foreach (var customer in validCustomers)
{
var cust = customer.Code;
predicate = predicate.Or(x => x.MisAccount.Code == cust);
}
query = query.AsExpandable().Where(predicate);
}
model.LatestOrders = query.Take(5)
LatestOrders을 다음과 같이 (TitleDetails)의 자식 세부 테이블
SELECT t.Name, t.LimpIsbn, t.CasedIsbn, max(td.OrderDate) LastOrder
FROM [inform].[dbo].[Titles] t
left join [inform].[dbo].[TitleDetails] td on t.id = td.TitleId
where td.OrderDate is not null
group by t.Name, t.LimpIsbn, t.CasedIsbn
order by max(td.OrderDate) desc
내 코드입니다.
저는 Linq Group에 관한 여러 가지 다른 출처를 살펴 봤습니다.이 그룹은 단일 테이블 그룹과 관련되어 있으며이를 다중 테이블로 변환하는 데 어려움을 겪고 있습니다.