0

任何人都可以帮忙吗,我一直在使用 linq2sql 并使用我的关联(外键)提供内部连接等取得了巨大的成功......

例如这个,效果很好,颜色存储在一个名为 Color 的表中,它有关联,所以我通过 Color.Description - 非常好。StructureType 相同,它实际上是一个关联,所以我通过 structureType 关联和 StructureType 表中的字段 Description 来获取它

     from v in Houses
     select new 
     {
        Id = v.Id,
        Color = v.Color.Description,
        StructureType= v.StructureType.Description,
        Price = v.StructureGroup.StructureGroupTariffs. // doesn't provide anything more only Any, All etc
}

问题是我正在尝试链接价格,因此房屋与 StructureGroup 有一个关联,该关联与 StructureGroupTariffs 有关联,但我没有更多选择..

将 StuctureGroup 链接到关税的互连表中的 StructureGroupTariffs,

实际上,我在这里使用 Linq 中的链接表进行了测试,它可以工作!像这样

        from g in StructureGroupTariffs
        select new 
        {
           Price = g.Tariff.Price
        }

所以我有点困惑,为什么(见上文)这个

        Price = v.StructureGroup.StructureGroupTariffs.

仅返回 Any、All 等方法,但不返回关联....

任何人都可以帮忙吗

4

1 回答 1

2

StructureGroupTariffs 是一个EntitySet 而不是EntityRef,即它包含许多对象而不是单个对象。您无法将“许多”提取到您在查询中组装的“单个”中。

编辑

我怀疑你的 House 表有一个 StructureGroup 并且有一个 Tariffs 表,中间是一个 StructureGroupTariffs 表,它包含对其他每个表的 FK 引用,允许每个结构组有很多关税(不管是否真的有许多关税)。因此 Linq 使用 EntitySet 来引用 StructureGroupTariffs。

于 2009-10-15T11:46:49.960 回答