Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用System.Linq.Dynamic.Core将结果强制转换为自定义类_Linq_Dynamic Linq - Fatal编程技术网

使用System.Linq.Dynamic.Core将结果强制转换为自定义类

使用System.Linq.Dynamic.Core将结果强制转换为自定义类,linq,dynamic-linq,Linq,Dynamic Linq,我试图将结果类型转换为自定义类,但遇到异常: System.InvalidCastException:'无法强制转换类型为的对象 “f__AnonymousType0`2[System.Int32,System.Int32]”以键入“MyClass” 我的代码是: class MyClass { public int LangId { get; set; } public int GroupId { get; set; } } var fields = "new(LangId

我试图将结果类型转换为自定义类,但遇到异常:

System.InvalidCastException:'无法强制转换类型为的对象 “f__AnonymousType0`2[System.Int32,System.Int32]”以键入“MyClass”

我的代码是:

class MyClass
{
    public int LangId { get; set; }
    public int GroupId { get; set; }
}

var fields = "new(LangId AS LangId,TranslateId AS GroupId)";
context.Table.Select(fields).ToDynamicListAsync<MyClass>();
class-MyClass
{
public int LangId{get;set;}
public int GroupId{get;set;}
}
var fields=“新建(LangId作为LangId,TranslateId作为GroupId)”;
context.Table.Select(fields.ToDynamicListAsync();
我是否错误地理解了泛型方法
ToDynamicListAsync
应该做什么,或者我在其他地方的代码中出现了另一个错误


我可以这样做吗?(typecast
dynamic[]
result to
custom_object[]
?)

我试图用反射做一些奇怪的事情,然后我偶然发现了解决方案:

var rows = await context.Table.Select(typeof(MyClass), fields).ToDynamicListAsync<MyClass>();
var rows=wait context.Table.Select(typeof(MyClass),fields.ToDynamicListAsync();

希望它能帮助其他人。

我想您也可以使用此代码

var rows = await context.Table.Select<MyClass>(fields).ToDynamicListAsync<MyClass>();
var rows=wait context.Table.Select(fields.ToDynamicListAsync();
此扩展方法也在中定义