0

我有一个简单的表结构

Images(image_id, image_library_id,...)

Links(link_id, image_id, link_component_code...)

我正在尝试使用 LINQ 执行一个简单的查询

var q = from i in Images where i.Link.link_component_code = "x" select i;

但是 LINQPad 中的智能感知不提供“链接”对象

where i.Link.link_component_code

相反,我只得到一个“链接”对象,它是一个 EntitySet,并没有继续列出表字段,只是方法,如 Add、Select、Where 等

但是,如果我反过来做

var q = from l in Links where l.Image.image_library_id = 1234 select l;

它按预期工作

这个 EntitySet 是什么,我哪里出错了?

4

2 回答 2

1

建立关系的方式,每个图像作为 0 个或多个链接(许多链接)。Image 的 Links 属性是相关链接记录的可查询集合。

试试这个 where 子句

where i.Links.Any(link => link.link_component_code == "x")
于 2009-05-20T14:00:07.237 回答
0

每张图片是否有多个链接?如果不是,请将 Links 表中的 image_id 字段限制为唯一。然后你应该得到你期望的结果。

于 2009-05-20T22:32:02.163 回答