zoukankan      html  css  js  c++  java
  • WCF下传递EF实体对象中出现异常:无法将 EntityReference 对象序列化

    近期项目采用了WCF+Entity Framework+WinForm的框架.使用一个Windows Service托管了WCF用于处理后的一些定时任务,并且充当着逻辑层来处理一些与前端的交互.在Winform运行过程中出现异常,如下图:

    image

    详细信息中:

    异常详细信息

    经过再三调试后我们发现,原因是在我的Winform的项目中增加了System.Data.Entity的引用后造成的.

    image

    下图是我在Winform,也就是WCF客户端中增加System.Data.Entity引用后所生成的DataItem类图

    image

    这时我在客户端中调用数据实体类时就会出现上述异常.可以看出在当前项目中生成的代理类完全使用了System.Data.Entity.EntityObject作为基类。但是从WCF服务端获取的数据契约类与其有所不同。

    解决方法:

    1、我去掉System.Data.Entity引用后,又重新生成了客户端代理。

    image

    自动生成的关系类图如下:

    image

    2、如果一定要在WCF客户端项目中引入System.Data.Entity则需要服务引用设置中将使用引用的程序集中的类型列表中将System.Data.Entity去掉便可。

    image

  • 相关阅读:
    存储过程访问外部服务器
    MVC4 code first 增加属性,对应自动修改列的方法笔记
    摘抄
    一条命令使win7可以直接运行.net3.5程序
    工作心得
    删除一个不存在的东西可以抛出异常吗
    洛谷P3379 【模板】最近公共祖先(LCA)
    洛谷P1967 货车运输
    洛谷P1653 猴子
    洛谷P2278 [HNOI2003]操作系统
  • 原文地址:https://www.cnblogs.com/scally/p/2286885.html
Copyright © 2011-2022 走看看