2016-10-18 11 views
-1

こんにちは、私は3つのテーブルの内部結合を実装しようとしています 私はそれが私に適切な結果を与える2つのテーブルから始めます。EF内の3つのテーブルの内部結合を実行

しかし、私はどのように3つのテーブルの結合を実装するのか分からないのですか? 誰でも助けることができますか?更新

SQLサーバーでの問合せ結果:これは私が試したものです

SELECT 
    capt_ar AS VehicleState, 
    cont_name, 
    vehl_drivername, 
    vehl_name, 
    vehl_entrancedate, 
    vehl_customsdec, 
    cont_rampid 
FROM Container 
    INNER JOIN 
    Vehicle ON Container.cont_vehicleid = Vehicle.vehl_VehicleID 
    INNER JOIN 
    Custom_Captions ON Vehicle.vehl_state = Custom_Captions.Capt_Code 
WHERE capt_family = 'vehl_state' 
     AND vehl_Deleted IS NULL AND cont_Deleted IS NULL 
     AND vehl_ClearanceCompany = 471 

enter image description here

更新:

は、これは私はEFでそれをやりたいSELECT文です行うが出力はない

var result = (from cont in db.Containers 
       join veh in db.Vehicles on cont.cont_vehicleid equals veh.vehl_VehicleID 
       join cap in db.Custom_Captions on veh.vehl_state equals cap.Capt_Code 
       where cap.Capt_Family == "vehl_state && veh.vehl_Deleted == null && cont.cont_Deleted == null && veh.vehl_ClearanceCompany =="+p.pusr_CompanyId 
       select new { cap.Capt_AR, cont.cont_Name, veh.vehl_drivername, veh.vehl_Name, veh.vehl_entrancedate, veh.vehl_customsdec, cont.cont_rampid } 
+0

もう1つのJOINを追加しました。既にコーディングしたとします。 – RiggsFolly

+0

サンプルデータと予想される結果を表示できますか? – Philipp

+0

私たちに何かを教えてもらえない場合は、他のテーブルについての有用な**あなたは少なくとも外来キーのようにしたいと思っています。それであなたは自分でそれをやらなければなりません。 – RiggsFolly

答えて

0
var query = (from con in db.Containers 
          join v in db.Vehicles on con.cont_vehicleid equals v.vehl_VehicleID 
          join cust in db.Custom_Captions on v.vehl_state equals cust.Capt_Code 
          where cust.Capt_Family== "vehl_state" && v.vehl_Deleted==null && con.cont_Deleted==null && v.vehl_ClearanceCompany==p.pusr_CompanyId 
          select new 
          { 
           cont_name=con.cont_Name, 
           vehl_Name=v.vehl_Name, 
           VehicleState=v.vehl_state, 
           vehl_drivername=v.vehl_drivername, 
           vehl_entrancedate=v.vehl_entrancedate, 
           vehl_customsdec=v.vehl_customsdec, 
           cont_rampid=v.vehl_rampid 
          } 
          ).ToList(); 
関連する問題