Api没有向客户端发送Enum

本文关键字:Enum 客户端 Api | 更新日期: 2023-09-27 18:04:13

我有一个类"ApplicationSetting"继承自"BaseSync"类继承自"BaseEntity"类。下面是我的类结构:

 [DataContract(Namespace = HelpersServiceModel.DefaultUriNamespace)]
 public class ApplicationSetting : BaseSyncEntity 
 {
    [DataMember]
    public string SettingKey { get; set; }
 }

 [DataContract(Namespace = HelpersServiceModel.DefaultUriNamespace)]
 public abstract class BaseSyncEntity : BaseEntity
 {
 }
 [DataContract(Namespace = HelpersServiceModel.DefaultUriNamespace)]
 public abstract class BaseEntity : ICloneable, IComparable, IEntityState,        INotifyPropertyChanged, IDataErrorInfo
 {
    [DataMember(EmitDefaultValue = false)] 
    public Nullable<int> Id
    {
        get
        {
            return _id;
        }
        set
        {
            SetProperty(ref _id, value);  
        }
    }
    [DataMember(EmitDefaultValue = false)]
    public EntityState EntityState
    {
        get { return _entityState; }
        set { _entityState = value; }
    }
 }

现在的问题是,每当我检查我的类json对象在浏览器。我没有得到Enum属性也就是EntitySate?有什么原因吗?我得到了所有其他属性,如SettingKey和Id,但我没有得到我的Enum。

我的enum类结构在下面提到

public enum EntityState
    {
        /// <summary>
        /// The Business Entity is unchanged and no action needs to be taken on it.
        /// </summary>
        Unchanged,
        /// <summary>
        /// The Business Entity has been created and has not been inserted into the database.
        /// </summary>
        Added,
        /// <summary>
        /// The Business Entity has been changed and requires updating in the database.
        /// </summary>
        Changed,
        /// <summary>
        /// The Business Entity has been marked for removal from the database.
        /// </summary>
        Removed
    }

Api没有向客户端发送Enum

您需要将ENUM定义为数据契约。

类似以下内容

[DataContract(Name = "CarCondition")]
public enum CarConditionWithNumbers
{
    [EnumMember]
    New = 10,
    [EnumMember]
    Used = 20,
    [EnumMember]
    Rental = 30,
}

见以下链接。

http://msdn.microsoft.com/en-us/library/aa347875.aspx

也有一些其他的例子。

http://beyondrelational.com/modules/2/blogs/48/posts/10065/enumeration-in-datacontract-of-wcf.aspx

http://dotnetmentors.com/wcf-datacontract-with-enum-example.aspx