【发布时间】:2012-09-07 01:37:47
【问题描述】:
场景是
void someFunc(object obj1 )
{
using ( var ctx = getContext() )
{
var list = ctx.MyTable.Where ( .... ).OrderBy( ... ).Select (
x => new PocoObject
{
string = x.String,
....
// Command = new MyCommand { prop1 = x } // working code
Command = new MyCommand { prop1 = x, objProp = obj1 } // problem line
}
).ToList();
//list.ForEach( x => x.Command.objProp = obj1 ); working code
}
}
例外是
无法创建“System.Object”类型的常量值。此上下文仅支持原始类型或枚举类型
用标记为工作代码的代码更改问题行即可解决问题
有什么方法可以调整它以使其更简单,即最后没有 ForEach 吗?
【问题讨论】:
-
objProp的类型是什么? -
在表达式中使用“Object”有点冒险,因为我们不知道你得到的“Object”的实际类型。基本上,我认为你会在表达之外投射
标签: c# .net visual-studio-2010 linq