0

次の2つの表で定義されているdag構造があります。

TABLE: ORGANISATION
--------------------------------------------
|           |                               |
|   ID      |   Guid            NOT NULL    |
|   Name    |   varchar(200)    NOT NULL    |
|   IsTop   |   bool            NOT NULL    |
|           |                               |
---------------------------------------------

TABLE: EDGE
--------------------------------------------
|           |                               |
|   ID      |   Guid            NOT NULL    |
|   From    |   Guid            NOT NULL    |
|   To      |   Guid            NOT NULL    |
|           |                               |
---------------------------------------------

LINQを使用すると、単一のクエリを使用して(IsTop == trueまたは組織のIDを指すToフィールドのあるEDGEがない)すべての組織を選択できます。

4

1 に答える 1

0

これがあなたに役立つかどうかはわかりませんが、

var query = from org in ORGANISATION
                       where org.IsTop == "true" ||
                        !(FROM ed in EDGE
                       select ed.To).CONTAINS(org.ID)
                       select org;
于 2013-02-08T11:41:39.190 に答える