Wel*_*ing 2 c# sql sql-server 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'
Run Code Online (Sandbox Code Playgroud)
我在Entity Framework中有以下查询
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();
Run Code Online (Sandbox Code Playgroud)
当我尝试编译它时,我得到了
错误3名称'p'不在'equals'左侧的范围内.考虑交换'equals'两侧的表达式.
错误4"链接"名称不在"等于"右侧的范围内.考虑交换'equals'两侧的表达式.
究竟错误在说什么
p.PhoneNumberId equals link.PhoneNumberId
Run Code Online (Sandbox Code Playgroud)
应该
link.PhoneNumberId equals p.PhoneNumberId
Run Code Online (Sandbox Code Playgroud)
完整代码
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();
Run Code Online (Sandbox Code Playgroud)