如何得到一个以上的列在Linq
本文关键字:Linq 何得 一个以 | 更新日期: 2023-09-27 17:49:37
下面是我的代码:
firstAnswer = p.Answers.Select(z => z.vountcount, z.isSelected).FirstOrDefault()
在select语句中,返回语法错误。
var firstAnswer = p.Answers.FirstOrDefault().Select(new { VountCount = z.vountcount, IsSelected = z.isSelected });
必须指定类型。Var是允许您实例化匿名类型的关键字。
您必须创建一个类型或使用匿名类型来捕获该结果:
匿名类型:var firstAnswer = p.Answers.Select(z => new { vountcount = z.vountcount, isSelected = z.isSelected }).FirstOrDefault();
显式命名在大多数情况下是可选的。在这里使用var关键字可以确保您可以分配匿名结果。如果您想将结果传递给某个方法,使用匿名类型将会变得困难。
专用类型:
public class ReducedAnswer
{
public int vountcount { get; set; }
public bool isSelected { get; set; }
public ReducedAnswer()
{
}
}
ReducedAnswer firstAnswer = p.Answers.Select(z => new ReducedAnswer { vountcount = z.vountcount, isSelected = z.isSelected }).FirstOrDefault();
保持它接近典型的LINQ模型类和你的命名。注意firstAnswer
前面的类型的使用。这里也可以用var