2017-05-20 12 views
0

내가 5 개 부모 기록, 모든 하위 범주와 카운트 한 후 요약을 조회하려고 시도하고있어 생산 첫 번째 5 개의 상위 레코드에 대해 하나의 쿼리를 수행 한 다음 각 하위 그룹을 요약하는 다섯 개의 쿼리 제공하는 첫 번째 쿼리에 가입엔티티 프레임 워크 핵심 GroupJoin 및 GROUPBY 예기치 않은 SQL

SELECT [p].[Id], [p].[Category] 
FROM [Child] AS [p] 

내가 왼쪽을 기대하지 않았다 : 다음

exec sp_executesql N'SELECT [child].[Id], [child].[Category], [t].[Id] 
FROM (
    SELECT TOP(@__p_0) [s0].* 
    FROM [Parent] AS [s0] 
) AS [t] 
LEFT JOIN [Child] AS [child] ON [t].[Id] = [child].[ParentId] 
ORDER BY [t].[Id]',N'@__p_0 int',@__p_0=5 

이 5 회 :

그러나 EF7에서,이 쿼리를 얻을 나 모든 아이 기록.

내 검색어에 문제가 있습니까?

답변

0

일부만 알아 냈습니다. 지금에 보이는 다른 오류를 가지고, 그러나

outerKeySelector: parent => parent, 
innerKeySelector: child => child.parent 

:

public class Child 
{ 
    [Key] 
    public virtual Guid Id { get; set; } 

    [Required] 
    public virtual Parent Parent { get; set; } 

    public virtual Guid ParentId { get; set; } 

} 

그래서 selector 필수 필드 Parent이 아닌 'ParentId`를 사용한다 : 자식 클래스는 모두 ParentParentId가있다 EF에서 핵심 버그 :

System.ArgumentException : Property 'MyApp.Models.Parent Parent' is not defined for type 'MyApp.Models.Parent' 
Parameter name: property 
    at System.Linq.Expressions.Expression.Property(Expression expression, PropertyInfo property) 
    at System.Linq.Expressions.Expression.MakeMemberAccess(Expression expression, MemberInfo member) 
    ... 

나는이 fixed in a prerelease version of EF Core 2 생각합니다.