簡體   English   中英

實體框架中的多重聯接

[英]Multiple Join in Entity Framework

我在TSQL中有以下查詢

select * from users 
inner join linkUserPhoneNumber on users.UserId = linkUserPhoneNumber.UserId
INNER JOIN PhoneNumber ON PhoneNumber.PhoneNumberId =
    linkUserPhoneNumber.PhoneNumberId
    where UserName = 'superuser' and password ='password'

我在實體框架中有以下查詢

var query = (from u in myEntities.Users
  join link in myEntities.linkUserPhoneNumbers on u.UserId equals link.UserId 
  join p in myEntities.PhoneNumbers on p.PhoneNumberId equals link.PhoneNumberId
  where u.UserName == Username && u.Password == Password
  select u).ToList();

當我嘗試編譯它時,我得到

錯誤3名稱“ p”不在“等於”左側的范圍內。 考慮在“等號”的任一側交換表達式。
錯誤4名稱“鏈接”不在“等於”右側的范圍內。 考慮在“等號”的任一側交換表達式。

錯誤究竟在說什么

p.PhoneNumberId equals link.PhoneNumberId 

應該

link.PhoneNumberId equals p.PhoneNumberId

完整代碼

var query = (from u in myEntities.Users
  join link in myEntities.linkUserPhoneNumbers on u.UserId equals link.UserId 
  join p in myEntities.PhoneNumbers on link.PhoneNumberId equals p.PhoneNumberId
  where u.UserName == Username && u.Password == Password
  select u).ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM