LINQ: ошибка при использовании нескольких из и присоединиться - PullRequest
3 голосов
/ 30 октября 2011

Следующий LINQ:

var result = from u in db.userdetails
    from b in db.bids
    join x in db.Others on b.UserId equals x.UserId into others
    from o in others.DefaultIfEmpty()
    from p in db.Products
    where u.UserID.Equals(b.UserId)
    && p.BidId.Equals(b.BidId)
    && b.DocId == id

дает мне ошибку:

Неверно указан тип одного из выражений в предложении соединения. Ошибка вывода типа при вызове 'GroupJoin'.

1 Ответ

0 голосов
/ 31 октября 2011

Возможно, вам повезет больше (и более понятный код), реорганизовав ваше объединение и предложения where. Поймите, с LINQ, вам не всегда нужно иметь предложение where после всех предложений from:

var result = 
    from u in db.userdetails 
    join b in db.bids on u.UserID equals b.UserId
         where b.DocID == id
    join p in db.Products
         on b.BidID equals p.BidId
    join x in db.Others on b.UserId equals x.UserId into others 
    from o in others.DefaultIfEmpty() 
    Select ???

Опять же, если у вас есть правильные ассоциации между вашими сущностями, вы можете избежать всех соединений и просто проецировать в нужную форму, непосредственно перемещаясь по графам объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...