나는 4 개 테이블이 : 포스트, 카테고리, 관계 및 메타LINQ에서 GroupBy를 올바르게 사용하는 방법은 무엇입니까?
category
캔 여러 posts
를 포함하고 그들 사이의 관계가 Relation
테이블에 저장됩니다. 게시물은 Meta
테이블에 저장된 많은 추가 정보를 가질 수 있습니다. 카테고리 및 추가 정보가있는 모든 게시물을 나열한 다음 게시물 ID로 그룹화합니다.
나는 다음과 같은 쿼리를
select p.ID, p.Title, t.Name, m.Key, m.Value from Post p
left join Relation r on p.ID = r.Child
left join Category c on r.Parent = c.ID
left join Meta m on p.ID = m.Object
where m.Type = 'news'
order by p.ID
을 가지고 있고 이러한 샘플 데이터로 :
Post
ID Title
1 A
Category
ID Name
1 Tips
2 Tricks
Meta
ID Object Key Value
1 1 Key1 Value 1
2 1 Key2 Value 2
Relation
ID Child Parent
1 1 1
2 1 2
이 결과는
PostID Title Category Key Value
1 A Tips Key1 Value1
1 A Tips Key2 Value2
1 A Tricks Key1 Value1
1 A Tricks Key2 Value2
될 것이며 나는 결과가
을 것으로 예상PostID Title Categories Meta
1 A Tips, Tricks Key1=Value1, Key2=Value2
우리는 EF의 V4와 결과 LINQ to Entities
에 SQL에서 쿼리를 변환 할 수 있습니다 궁금는 상관 주시면 감사하겠습니다 도움이
class Result
{
long ID,
string Title,
List<string> Categories,
Dictionary<string, string> Meta
}
같은 클래스에 저장됩니다. 쿼리 에서 기대하는 최종 결과를 무엇
추가 선택을 사용하여 생성 된 SQL은 무엇입니까? 게시하기에 충분히 작은가요? 어떤 데이터베이스/EF 백엔드 - SQL Server? – Rup
SQL 출력을 추가했습니다. Entity Framework 버전 4와 함께 SQL Server를 사용하고 있습니다 – ByulTaeng
즉, 개체 ID를 조회 한 다음 각 개체를로드하는 별도의 쿼리를 수행하는 쿼리를 수행하고 있습니다. -/ – Rup