实体框架VB加入

时间:2012-02-28 17:12:12

标签: vb.net entity-framework entity-framework-4

我正在尝试在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

如果有人能够以清晰的方式解决这个问题,那么我可以从中学到很棒的事情!

1 个答案:

答案 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") ....

(方便,但转换为外部联接)。