【发布时间】:2014-05-21 13:19:04
【问题描述】:
我想知道是否有办法以编程方式将集合类型配置为通用列表而不是客户端上的任何数组。我知道如果我们添加服务参考并转到我们可以在那里指定的高级设置。但是该项目的设计方式是我们为合约提供了单独的程序集,并被服务器和客户端引用,并且模型类型在同一个项目中定义,服务和客户端都使用它们。因此,我们不是添加服务引用,而是通过以编程方式定义绑定和端点来完成代码中的所有事情。我想知道这是否可以在代码中轻松实现,而无需编写代码将数组转换为客户端上的通用列表。
谢谢, 阿杰
【问题讨论】:
-
你是如何生成代码的?
-
我们没有进行代理类生成。所有 POCO 对象和服务合同都在一个单独的程序集中,这些程序集被服务和客户端项目引用。
-
我已经查看了该问题,答案表明 2 种方法之一是更新 reference.svcmap,因为我们没有向客户端应用程序添加服务引用,因此我们将不会拥有它。另一种方法建议使用 IList 而不是 ICollection。我们生成的 POCO 是使用 EF6 的 T4 模板,我们要么必须修改 T4 模板以将 ICollection 更改为 IList。我一直在寻找客户端的解决方案,而不是修改 T4 模板。但是我会通过手动将 ICollection 更改为 IList 来尝试一下,然后先尝试
-
将 ICollection 更改为 IList 也无济于事。我仍然得到一个数组