Table : tblEmp
EmpId EmpName ManagerId
101 john Null
102 jack 101
該foll。查詢會提供物化值爲空的錯誤。我哪裏錯了。請注意,EmpId & ManagerId實際上是表中的GUID。左連接Linq給出了一個錯誤
使用C#,LINQ到實體
public DataTable GetData(guid id)
{
var qry = from e in MYDB.tblEmps.where(e=>e.EmpId==id)
join m in MYDB.tblEmps on e.ManagerId equals m.EmpId into emp_mgr
from m in emp_mgr.DefaultIfEmpty()
select new
{
name = m.empname ?? string.empty,
id = e.managerid //also tried e.managerid ?? guid.empty
}
DataTable dt = qry.ToDataTable();
return dt;
}
我並沒有真正使用查詢語法,所以我對此並不積極,但是,如果您在這裏使用'=='而不是'='? 'e.ManagerId = m.EmpId into emp_mgr' – evanmcdonnal
oh.Typo。這是'等於'。更新。 – Ruby
錯誤 - 因爲物化值爲空,所以強制類型值爲'Guid'失敗。 – Ruby