我正在尝试在Visual Basic中学习EF。我正在努力寻找任何易于理解的关于如何进行内部连接的简单教程。
这是我试图在EF中复制的SQL:
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
如果有人能够以清晰的方式解决这个问题,那么我可以从中学到很棒的事情!
答案 0 :(得分:2)
我认为你引用了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") ....
(方便,但转换为外部联接)。