Если бы у меня была таблица SQL Server, которая выглядит примерно так, некоторые авторы появляются в нескольких строках (это означает, что они являются авторами нескольких книг).
BookID INT;
BookTitle NVARCHAR(100);
AuthorID INT;
AuthorName NVARCHAR(100);
Есть ли способ написать выражение Entity Framework, которое заполнило бы макет памяти, подобный следующему?
class AuthorInfo
{
int ID;
string Name;
IEnumerable<int> BookIDs;
}
Другими словами, я хотел бы иметь один объект для каждого автора, но затем иметь коллекцию BooksIDs, содержащую все книги для этого автора.
Я знаю, что мог сначала загрузить уникальных авторов, а затем повторить полученную коллекцию, чтобы добавить все соответствующие книги для каждого автора. Но есть ли способ сделать что-то подобное с помощью одного оператора linq?