如何从IQueryable中检索不同的对象类型
本文关键字:对象 类型 检索 IQueryable | 更新日期: 2023-09-27 18:02:58
我首先使用实体框架5代码。我有以下查询,返回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是Server class
, c是CEServer class
。
我如何从查询中检索s和c对象,因为我需要使用它们。我需要这样的内容:
Server server = s; // first check for nulls and
server.CEServer = c; // check for nulls as well
如果你确定你只会得到一对,你可以使用这个:
Server server = query.Single().s; // first check for nulls and
server.CEServer = query.Single().c;
如果没有,你会得到异常。
由于您的查询返回匿名类的对象序列,您可以枚举您的查询,并从每个返回的行访问s
和c
,如下所示:
foreach (var row in query) {
Server s = row.s;
// Check the server...
CEServer c = row.c;
// Use CEServer...
}