2012-09-05 35 views
0

我有一個表EmpInf 字段關係中的LINQ產生誤差

EmpId 
EmpName 
Salary 
DeptNumber 

和DEPT 領域

DeptNo 
DeptName 

的關係

Dept.DeptNo= EmpInf.DeptNumber 

在創建LINQ查詢以提取一個EmpName和一個工作部門 我試圖寫LINQ如下

var obj1 = from c in obj.EmpInfs join 
        d in obj.Dept1 on c.DeptNumber equals d.DeptNo into s 
        where c.EmpName == "m" 
        select new { EmpName=c.EmpName, DeptName=s}; 

     GridView1.DataSource = obj1; 
     GridView1.DataBind(); 

,並在這兩個代碼是不給的願望輸出試過這也

var obj1 = from c in obj.EmpInfs 
        from d in obj.Dept1 
        where c.EmpName == "m" 
        select new { EmpName=c.EmpName, DeptName=d.DeptName}; 

     GridView1.DataSource = obj1; 
     GridView1.DataBind(); 

。感謝您的幫助

+1

結果是什麼?你能指望什麼? –

+0

EmpName和它所在的部門。 –

回答

1
var obj1 = from c in obj.EmpInfs join 
        d in obj.Dept1 on c.DeptNumber equals d.DeptNo 
        where c.EmpName == "m" 
        select new { EmpName=c.EmpName, DeptName=d.DeptName}; 

第一次嘗試的問題是「s」是類型爲「Dept」的對象而不是部門名稱。第二次嘗試的問題是它正在交叉連接,

+0

謝謝,先生,現在它工作 –