C# 实体框架代码第一个额外列

C# 实体框架代码第一个额外列,c#,entity-framework,azure,ef-code-first,azure-mobile-services,C#,Entity Framework,Azure,Ef Code First,Azure Mobile Services,我已经离开C#and development有一段时间了,请容忍我 有一个实体类列表,如下所示: public class List : EntityData { public int ListId { get; set; } public string Name { get; set; } public string UserId { get; set; } public virtual List<ListItem> ListItems { get

我已经离开C#and development有一段时间了,请容忍我

有一个实体类
列表
,如下所示:

public class List : EntityData
{
    public int ListId { get; set; }
    public string Name { get; set; }
    public string UserId { get; set; }

    public virtual List<ListItem> ListItems { get; set; }
}

它们不是额外的,而是由定义的

这些额外的字段用于

ITableData接口的抽象实现,指示在使用实体框架访问后端存储时,在与客户端通信时如何序列化给定表数据模型的系统属性。系统属性的统一序列化确保客户端可以跨平台统一处理系统属性。为了支持系统属性,可以从这个基类派生具体的实体框架模型


您的基类“EntityData”要么实现了ITableData接口,要么具有与ITableData类似的自身属性。 您的代码EntityData类如下所示

public class EntityData : ITableData
{
    public DateTimeOffset? CreatedAt { get; set; }

    public bool Deleted { get; set; }

    public string Id { get; set; }

    public DateTimeOffset? UpdatedAt { get; set; }

    public byte[] Version { get; set; }
}

当您从列表模型类中删除inhering基类(EntityData)时,将不会获得额外的列。

显示
EntityData
public class EntityData : ITableData
{
    public DateTimeOffset? CreatedAt { get; set; }

    public bool Deleted { get; set; }

    public string Id { get; set; }

    public DateTimeOffset? UpdatedAt { get; set; }

    public byte[] Version { get; set; }
}