实体框架和链接表问题

时间:2010-02-10 14:13:13

标签: linq entity-framework ado.net linq-to-entities

我有一个包含以下内容的数据库:

**表1 **

  • Id(PK)
  • 字段1

**表2 **

  • Id(PK)
  • 字段2

**链接表**

  • Table1Id(FK)
  • Table2Id(FK)

问题是,我无法访问表1中的表2,即使数据库中存在关系。

例如,以下内容应该是可能的:

var Results = from c in DataContext.Table1
              where c.Table2.Field2 == "Test"
              select c;

但是,“c.Table2.Field2”由于某种原因不可用 - 我只能获得“c.Table2”。是以下(在标准中任何<>,其中<>等):

  • RelationshipName
  • RelationshipSet
  • SourceRoleName
  • TargetRoleName

所以显然某些事情在某个方面很棘手,但我无法解决问题!

这两个表都存在于实体模式中,并且它们之间具有有效的关系。

1 个答案:

答案 0 :(得分:2)

c.Table2.Field2不可用的原因是c.Table2没有名为Field2的属性。 c.Table2是具有该属性的实体的列表,而不是该实体的实例。目前还不清楚你的意图是什么,但我想你想要:

var Results = from c in DataContext.Table1
              where c.Table2.Any(t2 => t2.Field2 == "Test")
              select c;