我需要在Nop数据库中导入一个新表,我需要像其他表一样创建数据访问层。 该表有一个主键列,其名称为SignatureId,我的客户端不想更改此名称。 所以我不能从BaseEntity抽象类继承,因为它意味着主Key表必须调用“Id”。
我的问题是:
创建一个不是从BaseEntity继承的新Domain实体类是一个问题吗?喜欢:
public class Signature
{
public int SignatureId { get; set; }
public string Hash{ get; set; }
public.....
}
也许它必然意味着在实体操作过程中存在这样的问题?你可以就此提出建议吗?
答案 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);
}