我有几节课。目前这些类是同一个东西的副本,除了一些属性引用不同的类,并且具有不同的属性名,由于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),名称可能不是......但仍然..我该如何解决这个问题?有可能吗?
问候,特德