linq を使用して subsonic で左結合を実行しようとしていますが、うまくいかないようで、大きなエラーが発生します。
オブジェクトと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 は、左結合 linq クエリから必要な SQL を生成できないようです。
ここで何か間違ったことをしていますか?回避策はありますか?
更新: subsonic 3.0.0.2 を使用しています。これは、subsonic で左結合を試行したときに表示されるエラーです。
1[GetAQuote.Post]' cannot be used for parameter of type 'System.Linq.IQueryable
メソッド 'System.Linq.IQueryable 2[ GetAQuote.Post 1[<>f__AnonymousType2
,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]]]])'