2012-02-28 103 views
0

我试图在Visual Basic中学习EF。我正在努力寻找任何易于理解的简单教程,如何做内部连接。实体框架VB加入

这是我想要的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

我想你指的是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") .... 

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