我有一个LINQ查询,例如:
var myOffices=return table1
.Where(o => o.department.Any());
table1
有一个virtual
部门属性,类型为ICollection<department>
。
我尝试了下面的SQL,但它给了我不正确的记录:
SELECT * FROM table1 T
WHERE EXISTS (SELECT 1 FROM department D)
table1和department通过外键引用链接
请告知。
答案 0 :(得分:3)
您错过了这样一个事实,即您希望table1
中的某些元素department
链接到这些特定的table1
元素。
假设在department
中table1
的外键是fk_id_table1
并且table1
的主键是id_table1
,查询应为:
SELECT * FROM table1 T
WHERE EXISTS (
SELECT 1 FROM department D
WHERE D.fk_id_table1 = T.id_table1 -- This is the missing condition
)