如何从代码优先实体框架将枚举序列化为数据协定的一部分

本文关键字:数据 序列化 一部分 枚举 代码 框架 实体 | 更新日期: 2023-09-27 18:37:08

我正在编写一个 WCF 服务,该服务使用 Code First 实体框架来访问 SQL Server 数据库。我有一个引用枚举JobStatus的 POCO:

public enum JobStatus
{
    New,
    Submitted,
    Approved,
    Returned,
    OnHold,
    Cancelled,
}

现在,我正在根据我的POCO定义DTO作为WCF [DataContract]的一部分。我应该如何在 DTO 中引用枚举?我的 MVC 应用程序中也需要该枚举来解释正在检索的数据。在这种情况下,我需要创建一个仅包含枚举的程序集并将其交付,还是有更好的方法来解决此问题?

如何从代码优先实体框架将枚举序列化为数据协定的一部分

为什么

您认为尝试像对待任何其他数据成员一样对待枚举会是一个问题http://msdn.microsoft.com/en-us/library/aa347875.aspx

DataContract(Name = "JobStatus")]
public enum JobStatus
{
    [EnumMember]
    New, 
    [EnumMember]
    Submitted,
    [EnumMember]
    Approved,
    [EnumMember]
    Returned,
    [EnumMember]
    OnHold,
    [EnumMember]
    Cancelled,
}