Я пытался использовать Aggregate Method в linq to Sql, но похоже, что он не поддерживается.
LibrarySystemDataContext ctx = new LibrarySystemDataContext();
var query = ctx.Books
.Select(x => new
{
BookID = x.BookID,
BookName = x.Title,
Authors = x.AuthorBooks.Select(a => a.Author)
.Aggregate(new StringBuilder(), (sb, r) => sb.Append(r.FirstName + " " + r.LastName +"& "), sb => sb.ToString())
});
чтобы использовать Aggregate, я сразу преобразовал книги в IEnumerable следующим образом:
var query = ctx.Books.AsEnumerable()
.Select(x => new
{
BookID = x.BookID,
BookName = x.Title,
Authors = x.AuthorBooks.Select(a => a.Author)
.Aggregate(new StringBuilder(), (sb, r) => sb.Append(r.FirstName + " " + r.LastName +"& "), sb => sb.ToString())
});
И это работает. Я хочу знать, какие будут недостатки или недостатки дизайна, если я напишу такие запросы.