LINQ를 사용하여 쿼리 할 수있는 모든 개체를 구체화 할 수 있습니까?쿼리 할 수있는 모든 개체 구체화
의 내가 몇 가지 기준에 따라 자신의 책 (이 좀 실제 클래스가 필요하지 않습니다 희망, 예를 들어 쿼리입니다)의 목록이 저자의 목록을 원하는 가정 해 봅시다 :
var authorData = from a in ctx.Authors
where a.Age > 30
select new // anon class
{
Name = a.Name,
City = a.Address.City,
Books = from b in ctx.Books
where b.Price > 10
&& b.AuthorId == a.Id
select new // anon class
{
Name = b.Name,
Price = b.Price,
}
};
지금 저자 authorData
을 반복하고 인쇄 책 수를 말하면됩니다. 도서 목록은 유형이 IQueryable
이 될 것이고 각 저자에게 해당 객체를 가져 오는 것은 피할 수있는 DB에 새로운 쿼리를 생성합니다.
foreach(var author in authorData.ToList())
{
Console.WriteLine(author.Books.Count());
}
각 작성자에 대해 새로운 SQL 쿼리를 피하는 방법은 무엇입니까? 저자 익명 클래스와 동시에 Book 익명 클래스 객체를 구체화하는 방법이 있습니까?
편집 : 최종 목표는 가능한 한 적은 DB 독서을 가지고 있지만 모든 Author
및 Book
오브젝트를하는 것입니다. 모든 foreach 루프 반복에서 책을 구체화하는 것은 끔찍한 것 같습니다.
많은 DB는
내가 처음 시도한 것이지만 여전히 IQueryable로 책의 anon 클래스를 남깁니다. –