2016-05-03 14 views
1

こんにちは、私はLINQにSQLの下の部分を変換しようとしています(唯一のLINQを学ぶので、私と一緒にクマ)変換するSQL(内部結合、左外への参加)C#

SELECT SUM(Bt.Stake)AS TotalStake, SUM(Bt.Payout) AS TotalPayout, SUM(Bt.Stake - Bt.BetPayout) AS TotalProfitLoss, COUNT(Bt.BtID) AS NumberBts, 
         EV_MarketMix.Description 
      FROM   Bt INNER JOIN 
            Slip ON Bt.SlipID = Slip.SlipId LEFT OUTER JOIN 
            EV_MarketMix ON Bt.MarketMixID = EV_MarketMix.MarketMixID 
      WHERE(Slip.DateScanned >= @StartDate) AND(Slip.DateScanned < @EndDate) 
      GROUP BY EV_MarketMix.Description 

私はどのように知っていますjoin in on equals linq形式の内部結合とDefaultIfEmpty()プロパティを使用した左外部結合の読み方を読んでいますが、すぐに内部結合を続行する方法と左外部結合を続行する方法がわかりません。誰もそこから行く方法について私にアドバイスできますか?どのような助けや見て正しい方向に私を指していただければ幸いです。 SQLのように

+0

に参加:https://code.msdn.microsoft.com/101-LINQ -Samples-3fb9811b – jdweng

答えて

0

、あなたは内側の操作を行うことができ、別の左が続いた結合www.msdn.comでサンプルコードを参照してください

var query = (from t1 in Context.Table1 
    join t2 in Context.Table2 on //... //inner join 
    join t3 in Context.Table3 on /*...*/ into joined //left join 
    from joined.DefaultIfEmpty() 
    select new 
    { 
     //.... 
    }; 
+0

私が探していたものと全く同じです!簡単な実装もありがとう! – philmckendry

関連する問題