Осталось присоединиться в Subsonic 3 - PullRequest
1 голос
/ 27 марта 2010

Я пытаюсь выполнить левое соединение в дозвуковой 3 с использованием linq, но, похоже, это не работает, я получаю большую ошибку.

        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};

Я использую Subonic 3, последнюю версию GIT от Роба, но я получаю сообщение об ошибке, см. Ниже, когда я пытаюсь присоединиться слева. Я искал, но я не нашел никакого решения.

Может кто-нибудь объяснить мне, почему ошибка и как ее исправить? Спасибо

Expression of type 'System.Collections.Generic.IEnumerable1[GetAQuote.Post]' cannot be used for parameter of type 'System.Linq.IQueryable1[GetAQuote.Post]' of method 'System.Linq.IQueryable1[<>f__AnonymousType221[GetAQuote.Post], System.Collections.Generic.IEnumerable1%5BGetAQuote.Quote%5D, System.Linq.Expressions.Expression1[System.Func2%5BGetAQuote.Post,System.Int32%5D%5D, System.Linq.Expressions.Expression1[System.Func2%5BGetAQuote.Quote,System.Int32%5D%5D, System.Linq.Expressions.Expression1[System.Func3%5BGetAQuote.Post,System.Collections.Generic.IEnumerable1[GetAQuote.Quote],<>f__AnonymousType22%5BGetAQuote.Post,System.Collections.Generic.IEnumerable 1% 5BGetAQuote.Quote% 5D% 5D% 5D% 5D "> GetAQuote.Post, System.Collections.Generic.IEnumerable1 [GetAQuote.Quote]]] GroupJoin [Post, Quote, Int32, <> f__AnonymousType «'

1 Ответ

0 голосов
/ 31 марта 2010

, чтобы решить левое соединение в Subsonic3, вам просто нужно установить метод .AsEnumerable () в вашем запросе linq.

Попробуйте это

категории. AsEnumerable () или products.AsEnumerable ()

...