我想动态设置LINQ输出的列名。像这样:
summary Rows.Field<Type>("Name")
我需要这样做,因为我必须根据条件在三列上执行订单,每列有两种不同的类型,例如float
,int
和double
< / p>
有没有人对如何做到这一点有任何建议?
答案 0 :(得分:0)
LINQ to SQL处理静态类型,尽管你可以做一些技巧。您不能动态更改字段的类型,除了使用Convert.ToInt32等将相应的类型更改为您想要投射它时所需的值。
或者,您可以尝试将值转换为查询中的三种类型中的每一种:
from c in ctx
select new
{
IntVal = c.Value,
DoubleVal = Convert.ToDouble(c.Value),
.
.
}
通过这种方式,您可以适当地进行所有三次演员,并且可以吸入正确的字段。使用记录时,您甚至可以使用反射包装来获得与您想要的类似的东西。我不知道转换是否支持LINQ,但您应该能够做类似的事情。
HTH。