为具有替代属性名的类创建泛型类?

时间:2017-08-10 21:47:45

标签: c# generics nhibernate-mapping

我有几节课。目前这些类是同一个东西的副本,除了一些属性引用不同的类,并且具有不同的属性名,由于NHibernate中的映射而无法更改这些属性。

简化版:

public class SalesInvoiceDocument
{
   Guid Id { get; set; }
   string Description  { get; set; }
   SalesInvoiceIdentifier SalesInvoice { get; set; }
}

public class PurchaseInvoiceDocument
{
   Guid Id { get; set; }
   string Description  { get; set; }
   PurchaseInvoiceIdentifier PurchaseInvoiceId { get; set; }
}

我想创建这些类的泛型类,但我遇到的问题是标识符属性都在NHibernate中作为组件映射,我无法更改名称到期到遗留数据库。

我的映射如下所示:

public class PurchaseInvoiceDocumentMapping : ClassMapping<PurchaseInvoiceDocument>
{
  Id(x => x.Id, map => map.Generator(MappingsHelper.Guid));
  Property(x => x.Description);
  Component(x => x.PurchaseInvoiceId);
}

在表中,组件中定义的字段以组件属性名称为前缀。如果我将其更改为通用名称,则表格也应该更改。

有没有办法创建一个具有可定义属性名称的泛型类?我知道属性的类型是(将SalesInvoiceIdentifier和PurchaseInvoiceIdentifier更改为类型T),名称可能不是......但仍然..我该如何解决这个问题?有可能吗?

问候,特德

0 个答案:

没有答案