1

私は最初にEntityFramework5コードを使用しています。2つの異なるオブジェクトを返す次のクエリがあります。

var query = (from s in DatabaseContext.Servers
             join c in DatabaseContext.CommandExecutionServers on s.Domain equals c.Domain
             where s.Id == serverId && c.Active == active
             select new { s, c });

sはa Server class、cはaCEServer classです。

sオブジェクトとcオブジェクトを操作する必要があるため、それらをクエリから取得するにはどうすればよいですか。私は次のようなものが必要です:

Server server = s;  // first check for nulls and
server.CEServer = c;  // check for nulls as well
4

2 に答える 2

1

クエリは匿名クラスのオブジェクトのシーケンスを返すため、次のようにクエリを列挙し、返された各行からアクセスできsますc

foreach (var row in query) {
    Server s = row.s;
    // Check the server...
    CEServer c = row.c;
    // Use CEServer...
}
于 2013-03-07T11:34:08.473 に答える
1

正確に1つのペアのみを取得することが確実な場合は、次を使用できます。

Server server = query.Single().s;  // first check for nulls and
server.CEServer = query.Single().c;

いいえの場合、例外が発生します。

于 2013-03-07T11:36:15.737 に答える