Entity Framework VB Join - PullRequest
       3

Entity Framework VB Join

1 голос
/ 28 февраля 2012

Я пытаюсь изучать EF в Visual Basic.Я изо всех сил пытаюсь найти простое для понимания простое руководство по внутренним соединениям.

Это SQL, который я пытаюсь воспроизвести в EF:

SELECT Quote.LockedDateTime, IncommingQuoteStatus.StatusDesc, Users.FirstName
 + ' ' + Users.LastName AS UserName
FROM Quote
INNER JOIN IncommingQuoteStatus ON IncommingQuoteStatus.StatusID = Quote.Status
INNER JOIN Users ON Quote.LockedUserID = Users.UserID WHERE Quote.QuoteID = 1111;

Я знаюЕсть очень короткий способ сделать EF, но мне нужно, чтобы все было как можно проще и понятнее, потому что я мусор!Вот над чем я работаю:

Using db2 As New quotingSystemDevEntities
    Dim User = (From Users In db.Users Where Users.UserID = Quote.LockedUserID _
        Select Users).SingleOrDefault
    ' Now I can do something
End Using

Если есть кто-нибудь, кто может ясно изложить это, чтобы я мог извлечь из этого уроки, это было бы здорово!

1 Ответ

3 голосов
/ 28 февраля 2012

Я думаю, вы ссылаетесь на ключевое слово join:

From u In db.Users Join q In dq.Qoutes on u.UserID Equals q.LockedUserID
Select New With { User = u, Quote = q } 

Но в контексте данных, сгенерированном из вашей базы данных, User будет иметь коллекцию Quotes. Так что вы можете сделать что-то вроде:

From u In db.Users.Include("Quotes") ....

(удобно, но переводится как внешнее соединение).

...