【发布时间】:2012-11-03 23:47:41
【问题描述】:
var Data = from z in initialData
select new
{
z.ID,
z.Value = (z.Col1 != null)? z.Col1 : z.Col2
};
如何将此查询转换为动态 linq 表达式?这甚至可能吗?
【问题讨论】:
-
我认为不可能,因为编译器为这个查询创建了一个匿名类。
-
代码可以改进为z.Value = z.Col1 ?? z.Col2
-
你所拥有的甚至是不可能的,你会得到:'无效的匿名类型成员声明器。必须使用成员分配、简单名称或成员访问来声明匿名类型成员。'
-
我很困惑,你需要哪个部分是动态的?
-
@Juvil 我在复杂的环境中需要这种行为。
标签: c# linq dynamic dynamic-linq