0

誰でも助けてもらえますか、私はlinq2sqlを使用して、関連付け(外部キー)を使用して内部結合などを提供することに成功しています...

たとえば、これはうまく機能します。色は、関連付けられている Color というテーブルに保存されているため、Color.Description - Excel で取得します。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
}

問題は、私がリンクしようとしている価格であるため、住宅には StructureGroupTariffs への関連付けを持つ StructureGroup への関連付けがありますが、それ以上のオプションはありません..

StuctureGroup を Tariffs にリンクする Interlinking テーブル内の StructureGroupTariffs、

私は実際にここで Linq のリンクテーブルを使ってテストを行いましたが、うまくいきました! そのようです

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

だから私は少し混乱しています、なぜ(上記を参照)これが

        Price = v.StructureGroup.StructureGroupTariffs.

Any、Allなどのメソッドのみを返しますが、関連付けは返しません....

誰でも助けてください

4

1 に答える 1

2

StructureGroupTariffs は EntityRef ではなく EntitySet です。つまり、単一のオブジェクトではなく多くのオブジェクトが含まれています。クエリで組み立てている「単一」に「多数」を抽出することはできません。

編集

あなたの House テーブルには StructureGroup があり、Tariffs テーブルがあると思われます。その間に、他の各テーブルへの FK 参照を保持する StructureGroupTariffs テーブルがあり、各構造グループに多くの関税を設定できます (実際に存在するかどうかに関係なく)。多くの関税)。したがって、Linq は EntitySet を使用して StructureGroupTariffs を参照します。

于 2009-10-15T11:46:49.960 に答える