扩展NopCommerce 3.6模型

时间:2015-08-31 14:17:26

标签: entity-framework-6 nopcommerce

我需要在Nop数据库中导入一个新表,我需要像其他表一样创建数据访问层。 该表有一个主键列,其名称为SignatureId,我的客户端不想更改此名称。 所以我不能从BaseEntity抽象类继承,因为它意味着主Key表必须调用“Id”。

我的问题是:

创建一个不是从BaseEntity继承的新Domain实体类是一个问题吗?喜欢:

public class Signature
{
public int SignatureId { get; set; }

public string Hash{ get; set; }

  public.....
}

也许它必然意味着在实体操作过程中存在这样的问题?你可以就此提出建议吗?

2 个答案:

答案 0 :(得分:1)

快速解决方案是同时使用id和signatureId。因此,您将与您的客户和nopcommerce联系。

存储库模式在nopcommerce中用于使用基本实体存储数据。因此,在不继承基础的情况下创建实体会破坏设计。

答案 1 :(得分:0)

我迟到但答案是肯定的,即使你继承了它也是如此。你只需要在下面的映射中忽略它;

public class Signature : BaseEntity
{
  public int SignatureId { get; set; }
  public string Hash{ get; set; }
  public.....
}

在映射中,即 Nop.Data - >映射

public class SignatureMap : NopEntityTypeConfiguration<Signature>
{
    this.Ignore(c => c.Id);
    this.HasKey(c => c.SignatureId);
}