我尝试使用System.Linq.Dynamic.Core
将结果类型转换为自定义类,但出现异常:
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>();
我是否错误地理解了通用方法ToDynamicListAsync
应该做什么,或者我在其他地方的代码中还有另一个错误?
我可以这样做吗? (将类型dynamic[]
转换为custom_object[]
吗?)
答案 0 :(得分:1)
我认为您也可以使用此代码?
var rows = await context.Table.Select<MyClass>(fields).ToDynamicListAsync<MyClass>();
中定义
答案 1 :(得分:0)
我试图用反射做一些奇怪的事情,然后偶然发现了解决方案:
var rows = await context.Table.Select(typeof(MyClass), fields).ToDynamicListAsync<MyClass>();
希望它对其他人有帮助。