2012-02-28 16 views
0

私はVisual BasicでEFを学ぼうとしています。私は内側の結合を行う方法の簡単なチュートリアルを理解するのを簡単に見つけるのに苦労しています。Entity Framework VB Join

これは私が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") .... 

(便利ですが、外部結合に変換されます)。