EF 代码优先:从通用基础 class 继承,WEB api 丢失基础属性
EF code first: inheriting from common base class, WEB api losing base properties
我想使用以下内容作为我所有 classes 的基础 class:
[DataContract(IsReference = true)]
public abstract class EsBase
{
[DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)]
public Guid ID { get; set; }
public bool SoftDelete { get; set; }
}
以子为例class:
public class Match : EsBase
{
[Display(Name = "Start time")]
public DateTime StartTime { get; set; }
}
问题是当 Match 对象通过 WEB 发送出去时 API 我无法访问 ID 或 SoftDelete。
如何将这些也传递到输出中?
只需将 [DataMember]
属性添加到您的 DataContract class 的属性中。然后,这会使这些属性成为 DataContract 对象序列化的一部分。
我想使用以下内容作为我所有 classes 的基础 class:
[DataContract(IsReference = true)]
public abstract class EsBase
{
[DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)]
public Guid ID { get; set; }
public bool SoftDelete { get; set; }
}
以子为例class:
public class Match : EsBase
{
[Display(Name = "Start time")]
public DateTime StartTime { get; set; }
}
问题是当 Match 对象通过 WEB 发送出去时 API 我无法访问 ID 或 SoftDelete。
如何将这些也传递到输出中?
只需将 [DataMember]
属性添加到您的 DataContract class 的属性中。然后,这会使这些属性成为 DataContract 对象序列化的一部分。