实体框架T4 POCO对象在WCF中引发异常

use*_*689 1 wcf entity-framework poco

这些对象具有ICollection <>类型的集合

如果我将对象图从客户端传递到服务器,则会抛出以下异常:

System.NotSupportedException was unhandled by user code
  Message=Collection was of a fixed size.
  Source=mscorlib
Run Code Online (Sandbox Code Playgroud)

在T4模板生成的修正代码中会发生这种情况.似乎集合在服务器上被反序列化为数组,因此无法修改.有没有办法指定序列化程序应该使用的类型?

Ric*_*ett 5

我强烈建议您不要在服务边界上使用POCO类.创建一组单独的类来模拟您想要通过线路发送和接收的数据(数据传输对象 - DTO),并使用像automapper这样的工具在DTO和POCO类之间移动数据

基本上,您最终会将服务的消费者与服务的内部概念模型联系起来,这意味着您在更改实施时受到限制,因为您需要避免破坏您的客户