Попытка сделать левое соединение в дозвуковом режиме с использованием linq, но, похоже, это не работает, я получаю большую ошибку.
Я почти уверен, что запрос правильный, так как я делал это несколько раз с объектами и Linq2Sql.
var post = from p in Post.All()
join q in Quote.All() on p.ID equals q.PostID into pq
where p.ID == id.Value
from qt in pq.DefaultIfEmpty()
select new {p, qt};
Просто кажется, что subsonic не может генерировать необходимый SQL из запросов linq левого соединения.
Я что-то здесь не так делаю? Есть ли работа вокруг?
Обновление: я использую subsonic 3.0.0.2, вот ошибка, которую я получаю при попытке левого соединения с subsonic
Выражение типа 'System.Collections.Generic.IEnumerable 1[GetAQuote.Post]' cannot be used for parameter of type 'System.Linq.IQueryable
1 [GetAQuote.Post]' метода 'System.Linq.IQueryable 1[<>f__AnonymousType2
2 [GetAQuote.Post, System.Collections.Generic.IEnumerable 1[GetAQuote.Quote]]] GroupJoin[Post,Quote,Int32,<>f__AnonymousType2
2] (System.Linq.IQueryable 1[GetAQuote.Post], System.Collections.Generic.IEnumerable
1 [GetAQuote.Quote], System.Linq.Expressions.Expression 1[System.Func
2 [GetAQuote.Post, System.Int32]], System.Linq.Expressions.Expression 1[System.Func
2 [GetAQuote.Quote, System.Int32]], System.Linq.Expressions.Expression 1[System.Func
3 [GetAQuote.Post, System.Collections.Generic.IEnumerable 1[GetAQuote.Quote],<>f__AnonymousType2
2 [GetAQuote.Post, System.Collections.Generic .IEnumerable`1 [GetAQuote.Quote]]]]) '