如何LINQ查詢寫入訪問數據訪問數據從多個table.How你寫了下面的SQL查詢Linq查詢: -如何從多個表
"select * from user,employee where user.Name='smith' and employee.company='xyz'"
如何LINQ查詢寫入訪問數據訪問數據從多個table.How你寫了下面的SQL查詢Linq查詢: -如何從多個表
"select * from user,employee where user.Name='smith' and employee.company='xyz'"
像這樣的事情會做到這一點。
var q = from u in db.user
from e in db.employee
where u.Name == "smith" && e.company == "xyz"
select new
{
User = u,
Employee = e
};
這要看LINQ提供程序使用。例如,假設你有正確定義的外鍵,實體框架就會創建他們所謂的「導航屬性」。所以,你可以很容易地編寫LINQ查詢像上面這種方式:
var query = data.Where(employee => employee.Name == "Smith" && employee.Company.Name == "xyz");
var result = from u in context.User
from e in context.Employee
where (u.Name == "smith" && e.company == "xyz")
它看起來像你正在做一個交叉聯接(老前輩像我稱之爲「直角連接」)。那是故意的嗎? (您所在的位置與用戶和員工表格無關,因此您將得到用戶和員工的所有組合,其中user.name ='Smith'和employee.company ='xyz'。 – JMarsch 2010-04-16 15:13:51