WCO序列化POCO

时间:2015-06-25 15:32:02

标签: c# wcf serialization

我正在重写MVVM应用程序的一部分,以便WCF服务位于ViewModel和Model之间。

我知道我需要将数据库交互代码从VM移动到服务,然后重写剩余的VM以与服务代理对象和服务而不是模型交互。

WCF的服务引用生成的代理类虽然很可怕 - 但都有" k_BackingField"追加。我发现这个链接(http://www.integratedwebsystems.com/wcf-data-contracts-and-k__backingfield-property-naming/)似乎提供了一种解决方法,其中你装饰类以明确地向序列化器提供信息而不是推断它。我为我正在使用的班级做了这个,并且它在服务参考中没有造成任何影响。存在完全相同的奇怪字段名称等。

如何删除" k_BackingField"从我的POCO代理?我希望我可以反序列化到相同的POCO模型类而不是服务引用级代理,所以如果这是一个选项,我更喜欢它。

如果这是相关的,请参阅以下有关设置的一些详细信息: - Model是代码优先EF6(最新)。 - 模型使用具有类型参数的通用存储库的存储库模式。 - WCF服务可以直接访问模型项目并在其代码中使用它。 - VM可以直接访问模型项目,并在其代码中使用(?)(在重写过程中)。 - VM具有通过VS UI完成的WCF服务的服务引用。

1 个答案:

答案 0 :(得分:0)

实体框架不建议混合传统的WCF和EF,你会遇到像你发现的导航属性问题。他们建议您使用WCF Data Services代替。来自数据服务网站的Here is a tutorial可以帮助您入门。

相关问题