实体框架中的多重联接 - c#

我在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();

SQL Joins与Java代码? - java

我有这样的查询Select Folder.name from FROM FolderTable,ValidFolder, ValidFolderGroup, ValidUser, ValidLocation, ValidDepartment where ValidUser.LocationCode *= ValidLocation.LocationCode …

休眠还是Application Server JPA? - java

我在生产中使用Glassfish,在测试中使用OpenEJB。我正在使用JPA 1.0。我使用的是Hibernate,但没有特定的Hibernate功能,只有标准的JPA。休眠在这个集合中是多余的,应该删除,对吗? java参考方案 OpenEJB和Glassfish均提供JPA实现。因此,要运行您的应用程序,您不需要休眠。但是,在某些特殊情况下,JPA实现…

如何以编程方式将ListView滚动到最后一个元素-Compact Framework - c#

我正在使用Windows Mobile 6.1上的3.5 Compact Framework开发应用程序。我有一个ListView,添加项目时想自动滚动此列表。我能怎么做? 参考方案 listView.EnsureVisible(listView.Items.Count - 1);

Pyodbc找不到FreeTDS驱动程序 - python

我在Centos 7 Linux计算机上,尝试通过pyodbc连接到SQL数据库。我了解到您需要设置DSN,并且可以通过安装freetds驱动程序并执行以下操作来实现:import pyodbc cnxn = pyodbc.connect('DRIVER={FreeTDS};SERVER=example;DATABASE=TEST;') …

在C#中检索SQL Server数据库信息 - c#

想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我正在尝试创建一个程序,该程序将生成包括表,视图,键,索引,触发器等的SQL数据库架构,例如:CREATE TABLE TableName(....) .... CREATE VIEW ViewName(...) .... 我知道这是可能的,因为SQL…