以下是我的SQL查詢並希望處於LINQ中。任何人都可以幫忙嗎?將SQL查詢轉換爲LINQ
SELECT EmpId,Team,_Year FROM Plan
where EmpId in
(
select EmpId from master where 2150 in (immediatesupervisor,manager)
)
以下是我的SQL查詢並希望處於LINQ中。任何人都可以幫忙嗎?將SQL查詢轉換爲LINQ
SELECT EmpId,Team,_Year FROM Plan
where EmpId in
(
select EmpId from master where 2150 in (immediatesupervisor,manager)
)
我建議你使用聯接操作這樣
YourDbEntities db = new YourDbEntities();
var query = from c in db.Plan
join d in db.master on c.EmpId equals d.EmpId
where d.ImmediateSupervisor == 2150 || d.Manager == 2150
select new{
c.EmpId,
c.Team,
c._Year
};
c#中不允許使用所有數字標識符。我認爲'2150'是一個字面值,而不是一個成員。我假設_immediatesupervisor_和_manager_是表格成員...... – KristoferA 2010-10-04 06:57:35
謝謝......我差點離開那個2150.我已經糾正了我的答案。 – Haekal 2010-10-04 07:27:21
嘗試:
var q =
from p in dc.Plan
where (
from m in dc.Master
where m.ImmediateSupervisor == 2150
|| m.Manager == 2150
select m.EmpId
).Contains(p.EmpId)
select new { p.EmpId, p.Team, p._Year };
常用LINQ語法一個很好的資源是達明衛隊的LINQ到SQL「作弊片'。這是一個單頁,你可以快速查找這樣的事情。請參閱http://damieng.com/blog/2009/08/12/linq-to-sql-cheat-sheet
這是什麼數據庫?我不知道任何數據庫的代碼可以工作(尤其是在'immediatesupervisor,manager'位中的2150) – 2010-10-04 05:52:41
忘記了LINQ,請先嚐試並寫入正確的SQL。 – RPM1984 2010-10-04 05:53:21
@Dean它可能是SQL Server,因爲問題標有'linq-to-sql'。如果_master_有一個名爲_immediatesupervisor_的列和一個名爲_manager_的SQL查詢應該工作的列。它不應該有什麼具體原因? – KristoferA 2010-10-04 07:01:26