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 对象序列化的一部分。