[英]WEB Api not sending Enum to client
我從“ BaseSync”類繼承了一個類“ ApplicationSetting”,該類又從“ 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對象時。 我沒有得到EntitySate的Enum屬性? 有什么原因嗎? 我正在獲取所有其他屬性,例如SettingKey和Id,但我根本沒有獲取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
}
您需要將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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.