gpt4 book ai didi

wcf - 停止 WCF 将空 ICollection 反序列化为零容量阵列

转载 作者:行者123 更新时间:2023-12-04 18:48:19 25 4
gpt4 key购买 nike

我在使用 WCF 和 Entity Framework 4.1 POCO 对象(使用 T4 模板生成)时遇到问题。我的基本问题是,当从我的客户端向服务发送 POCO 对象时,WCF 将 ICollection 类型的成员变量反序列化为固定大小的数组。

在客户端,我可以告诉 Visual Studio 使用 IList 而不是 T[] - 但我在服务器端看不到任何这样的选项。

这会导致一些事情的无休止的问题,例如将这些对象持久化回数据库。

有什么方法可以告诉 WCF 将 ICollection(或任何数组)反序列化为什么对象类型?

最佳答案

我很惊讶更多人没有遇到这个问题,因为当您尝试在 WCF 上使用 EF T4 生成的 POCO 对象时,它会击中您的脸。具体来说,我得到的错误是这样说的:

Exception: "Unable to set field/property Orders on entity type Datalayer.Customers. See InnerException for details."

InnerException: "An item cannot be added to a fixed size Array of type 'Datalayer.Order[]'."


无论如何,我能想出的唯一解决方案是您提到的解决方案,即修改 T4 模板以使用 HashSet 而不是 ICollection。没有让我觉得最干净,但它似乎有效。

关于wcf - 停止 WCF 将空 ICollection 反序列化为零容量阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10244910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com