C# 如何不映射或忽略继承类的属性?

C# 如何不映射或忽略继承类的属性?,c#,entity-framework,ef-code-first,C#,Entity Framework,Ef Code First,因此,我有一个品牌poco类如下 [Table("Brand")] public partial class Brand { [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] public int BrandId { get; set; } [StringLength(10

因此,我有一个品牌poco类如下

 [Table("Brand")]
public partial class Brand
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]


    public int BrandId { get; set; }


    [StringLength(100)]
    public string Name { get; set; }
}

我需要使用baseEntity进行扩展,如下所示。我创建了一个分部类以防止重新创建该类,但不应覆盖它

public partial class Brand : BaseEntity 
{


}
BaseEntity类有一些静态方法和一个Id属性,如下所示。 调试应用程序时,它会抱怨Id不是有效列

   public abstract partial class BaseEntity
    {
        public int Id { get; set; }
}
很明显,我需要忽略或签名为NotMapped,但我不想更改BaseEntity,也不想更改DbContext类,因为重新创建可以覆盖它

我可以创建Dbcontext的部分类,如下所示,并使用ignore。但它不允许我在模型创建中使用2次

如何在不更改BaseEntity类的情况下完成此任务

public partial class MyDBContext : DbContext
{

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {

        modelBuilder.Entity<Brand>().Ignore(t => t.Id);

    }
}

不确定在您的情况下,继承一个ID然后创建一个新ID而忽略另一个ID有什么意义?听起来像是设计问题。如果你不想要一个属性,就不要继承它。我正在为nopcommerce商店创建一个插件,这个baseentity类默认在那里,我的客户用BrandId设计了上面的表,如果他被设计为Id,我就不会有这个问题。我建议更改数据库,但在我想知道是否有任何解决方法之前。@EricHotinger让我们假设,它不是Id,如果它令人困惑,则是其他东西。目的是忽略抽象类中定义的属性。