使用 EF Power Tools 进行序列化时出现 InvalidOperationEception

问题描述 投票:0回答:1

执行以下代码时:正在执行的代码块带有星星

公共静态类DbContextExtensions { 公共静态异步任务 SqlQueryAsync(此DbContext db,字符串sql,对象[]参数= null,CancellationToken取消令牌=默认)其中T:类 { if(参数为空) { 参数 = 新对象[] { }; }

    **if (typeof(T).GetProperties().Any())
    {
        return await db.Set<T>().FromSqlRaw(sql, parameters).ToListAsync(cancellationToken);
    }**
    else
    {
        await db.Database.ExecuteSqlRawAsync(sql, parameters, cancellationToken);
        return default;
    }
}

}

我收到以下错误: System.InvalidOperationException:类型“System.Runtime.CompilerServices.AsyncTaskMethodBuilder

1+AsyncStateMachineBox
1[System.Collections.Generic.List`1[SpiritWMSApiCore2.Models.Unitech_ASNInfo_BOLResult]”上属性“Context”的类型“System.Threading.ExecutionContext&”, SpiritWMSApiCore2.Models.SIRISContextProcedures+d__56]' 对于序列化或反序列化无效,因为它是指针类型,是引用结构,或包含尚未被特定类型替换的通用参数。

我用 bing chat gpt 查找并给出以下内容,但我仍然不知道如何解决它...... System.InvalidOperationException:类型“System.Runtime.CompilerServices.AsyncTaskMethodBuilder

1+AsyncStateMachineBox
1[System.Collections.Generic.List`1[SpiritWMSApiCore2.Models.Unitech_ASNInfo_BOLResult]”上属性“Context”的类型“System.Threading.ExecutionContext&”, SpiritWMSApiCore2.Models.SIRISContextProcedures+d__56]' 对于序列化或反序列化无效,因为它是指针类型,是引用结构,或包含尚未被特定类型替换的通用参数。

serialization invalidoperationexception system.threading.executioncontext
1个回答
0
投票

对我来说,这是一个缺失的

await
,即我试图序列化
Task<something>
而不是
something
。序列化未完成的任务显然是不可能的

© www.soinside.com 2019 - 2024. All rights reserved.