【问题标题】:Sharing enums with entities and services, keep in one layer or both?与实体和服务共享枚举,保留在一层还是两者?
【发布时间】:2025-12-14 07:00:01
【问题描述】:

所以存在一个具有枚举属性和 wcf 服务的实体,该服务将返回或采用该枚举类型。枚举应该在实体程序集中并用属性标记它,还是应该复制两个程序集的枚举,标记服务枚举并使实体枚举不加修饰?我不喜欢复制枚举类型,但我也不想在我的实体项目中装饰任何东西。最佳做法是什么?

【问题讨论】:

    标签: c# enums wcf


    【解决方案1】:

    枚举不需要装饰。只要一个版本,不要装饰它。

    【讨论】:

      【解决方案2】:

      “最佳实践”对您来说是有意义的。我们在网络上共享我们所有的实体枚举类型(数百个)——除非绝对必要,否则在实体/线类型之间复制和转换是没有意义的。只要一切都是 3.5SP1 或更高版本,DataContract/EnumMember 装饰是可选的。我仍然这样做是为了保持一致性(我们从 3.0 开始就一直在使用这些东西),但是没有它也可以正常工作。

      【讨论】: