也许是一个简单的问题,但不容易找到所以请原谅我 =) 我尝试选择多个列。我使用的语句是:
var dataset2 = from recordset in entities.processlists
where recordset.ProcessName == processname
select recordset.ServerName, recordset.ProcessID, recordset.Username;
显然,这甚至无法编译。什么是正确的语法?我也尝试过基于方法,甚至强硬的这种语法似乎是正确的,当访问它时会抛出“无法将类型“匿名类型”转换为类型“AIM.PInfo”。LINQ to Entities 仅支持转换 EDM 基元或枚举类型。例外。
有任何想法吗?
var dataset = entities.processlists
.Where(x => x.environmentID == environmentid && x.ProcessName == processname && x.RemoteIP == remoteip && x.CommandLine == commandlinepart)
.Select(x => new { x.ServerName, x.ProcessID, x.Username })
.Cast<PInfo>().ToList();