代码之家  ›  专栏  ›  技术社区  ›  TJF

实体框架-WCF-枚举?

  •  0
  • TJF  · 技术社区  · 16 年前

    这一切都很好,但也给WCF服务带来了问题。我需要客户端的枚举定义,并希望通过自动代理生成实现这一点。为此,我必须将DataMember属性添加到共享类中的Enum属性中,以便将其包含在序列化过程中。
    但是,当我现在调用WCF方法时,它同时序列化(int)和(Enum)属性,从而携带冗余数据并增加消息大小。 处理这个问题的最佳方法是什么?其他人是如何处理这个问题的?

    汤姆

    3 回复  |  直到 16 年前
        1
  •  3
  •   mkedobbs    16 年前

    我同意EF对象不应该通过WCF发送。通过这样做,您暴露了WCF服务背后的太多实现细节。

    要限制从EF对象到WCF服务公开的DTO/POCO的转换所需编写的代码量,请参阅 Automapper .

        2
  •  0
  •   Shiraz Bhaiji    16 年前

    我们将对象映射到DTO(数据传输对象)并通过WCF发送它们。

    EF 4支持POCO(普通的旧CLR对象),这将改变

        3
  •  0
  •   Roubachof    16 年前

    所以EF4不支持枚举…让我们找到其他解决方案。

    假设你有一个 订单状态 enum,如果要遵循严格的db设计规则,则应创建OrderStatus表。然后,您可以将以下信息添加到“枚举”表中:

    • 值(整型或字符串)
    • 可本地化描述

    这是一个解决方案。

    http://devtalk.dk/CommentView,guid,d5dccc2a-5723-49b4-97d1-bf759b7f592d.aspx