-2

我能够通过 Microsoft OData 连接器服务 Nuget 生成代理(使用 VS 2017)。这会生成代理就好了。

但是,当我尝试通过网络将实体发送到客户端时,我得到一个反序列化异常。使用服务参考/代理生成的实体/数据模型是否存在任何技术问题?

下面是当负载从我的 Web API 检索到客户端时我能够捕获的异常。

System.Reflection.TargetParameterCountException:指定的参数数量与预期数量不匹配。在 System.Reflection.RuntimeMethodInfo.ConvertValues (System.Reflection.Binder binder, System.Object[] args, System.Reflection.ParameterInfo[] pinfo, System.Globalization.CultureInfo 文化, System.Reflection.BindingFlags invokeAttr) <0x34ba990 + 0x00038 > 在 System.Reflection.RuntimeConstructorInfo.DoInvoke :0 处(System.Object obj,System.Reflection.BindingFlags invokeAttr,System.Reflection.Binder binder,System.Object[] 参数,System.Globalization.CultureInfo 文化)<0x36f4b28 + 0x0003a > 在 System.Reflection.RuntimeConstructorInfo.Invoke 中:0(System.Reflection.BindingFlags invokeAttr,System.Reflection.Binder binder,System.Object[] 参数,System.Globalization。

解决

能够通过使用 Henk 使用 Newstonsoft.Json 进行序列化的建议来解决此问题。

4

1 回答 1

1

不知道是不是这样,但我对 Blazor 0.7 的经验,仍在申请硕士论文,你不能同时发送或接收嵌套对象。我的数据库中有 Person 并且那个 Person 有一些商店,所以实体将它映射到类似于这个的对象中 Person{ id:int, name:string, lastName:string, stores:List<Store>} , Store{id:int, name:string, personId:int} ,首先必须获取 person,然后使用 person 的 id 进入数据库以获取该人的商店。不知道为什么,但认为在那个版本中这是不可能的。

于 2019-06-12T19:51:07.030 回答