2016-05-11 1 views
-1

に参加し、私はそれがC#のためにどちらかLambdaまたはLinq式に変換したいです。変換のSQLクエリは、私が<code>SQL</code>クエリの下に持ってラムダまたはLINQの式

SELECT DISTINCT employeeid 
INTO #temp 
FROM [dbo].DOCS 
WHERE companyid = 1 
    AND taxyear = 2015 

SELECT DISTINCT e.EmployeeId, 
       e.EmployeeName 
FROM Employees e 
LEFT JOIN #temp t ON e.EmployeeId = t.employeeid 
WHERE CompanyId = 1 
ORDER BY EmployeeName 
+0

私は最初のDOCSテーブルをフィルタリングすると、その後、Employeesテーブルと結合左にしたいです。それはLinqまたはLambdaの式で行う方法を得ていない – NeilSah

+0

Google Linqer - SQLからlinqへの変換 – sagi

+0

以下の式より、私は試みたが、行数が間違っている - (db.Employeesのlがdb.DOCS l.EmployeeIdはtemp.DefaultIfEmptyでJ(から一時にp.EmployeeId に等しい上)l.CompanyId == cust.Id && j.CompanyId == cust.Id && j.TaxYear == taxYear が選択 新しい(l.EmployeeId、l.EmployeeName))。Distinct()。OrderBy(X => X.EmployeeName).ToList(); – NeilSah

答えて

0

それが解決され、私は解決策の下に持っている -

var result = 
(from l in db.Employees 
join p in db.docs.Where(j => j.CompanyId == 1 && j.TaxYear == 2015) 
on l.EmployeeId equals p.EmployeeId into temp  
where l.CompanyId == 1 
    select new 
     { EmployeeId = l.EmployeeId, 
     EmployeeName = l.EmployeeName 
}).Distinct().OrderBy(X => X.EmployeeName).ToList(); 
関連する問題