2013-10-10 37 views
0
select sr.Name as Sale_Rep,ag.Name as Agent , 
     sum(tr.Amount) Debit_tran 
    from DebtorTransactions as tr 
     join Warranty as wr on tr.ProductID=wr.Id 
     join Agents as ag on ag.pkfAgentID=wr.fldAgentID 
     join SalesReps as sr on wr.fldSrId =sr.pkfSrID 
    where tr.Product=0 
    group by ag.Name, sr.Name 

我想把這個查詢轉換爲LINQ到實體,但不能......能轉換某些此查詢到LINQ到實體我PLZ如何將一個SQL查詢轉換爲LINQ到實體查詢?

這是我已經試過:

var abc= from tr in db.DebtorTransactions 
     from wr in db.Warranties 
     from sr in db.SalesReps 
     from ag in db.Agents 
     where tr.ProductID==wr.Id 
      && ag.pkfAgentID==wr.fldAgentID 
      && wr.fldSrId ==sr.pkfSrID 
      && tr.Product==0 
     select new { ag.Name, sr.Name, tr.Amount }; 

但我沒有得到任何輸出

+0

VAR ABC =從在db.Agents db.DebtorTransactions 從WR在從SR db.Warranties 在db.SalesReps 選自Ag TR其中tr.ProductID == wr.Id && ag.pkfAgentID = = wr.fldAgentID && wr.fldSrId == sr.pkfSrID && tr.Product == 0 選擇新 { ag.Name, sr.Name, tr.Amount }; –

+0

我已經試過這個...但我沒有得到任何輸出... PLZ幫助我 –

回答

0
var abc = from tr in db.DebtorTransactions 
      join wr in db.Warranties tr.ProductID equals wr.Id 
      join sr in db.SalesReps wr.fldSrId equals sr.pkfSrID 
      join ag in db.Agents wr.fldAgentID equals ag.pkfAgentID 
      where tr.Product==0 
      select new { ag.Name, sr.Name, tr.Amount }; 
1

要匹配您的SQL查詢你需要按相同的列:

from tr in db.DebtorTransactions 
join wr in db.Warranties on tr.ProductID equals wr.Id 
join ag in db.Agents on wr.fldAgentID equals ag.pkfAgentID 
join sr in db.SalesReps on wr.fldSrId equals sr.pkfSrID 
group tr 
    by new { Sale_Rep = sr.Name, Agent = ag.Name } 
    into transactions 
select new { 
    transactions.Key.Sale_Rep, 
    transactions.Key.Agent, 
    Debit_tran = transactions.Sum(tr => tr.Amount) 
}