流利的NHibernate鉴别值 [英] Fluent NHibernate-discriminator value
问题描述
我需要为父类设置多个判别值。有可能吗?怎么做?
例如:
PARENT_CLASS
DiscriminateSubClassesOnColumn(COLUMN_NAME,X);
CHILD_CLASS_1
DiscriminatorValue(Y );
CHILD_CLASS_2
DiscriminatorValue(Z);
这是可能的。但是,如果我在COLUMN_NAME列中有超过这3个值,该怎么办?
例如,如果P和Q也是该列的可能值,那么该怎么办?我应该写吗?
DiscriminateSubClassesOnColumn(COLUMN_NAME,X,P,Q);显然这是不可能写的。但我不知道该怎么做。有人可以帮帮我吗?
谢谢。
ENTITY:
public partial class InsuranceApprovalInvoice:OrderInsuranceApproval
{
[DataMember()]
public virtual PatientInvoice PatientInvoice { get ; set ; }
}
public partial class InsuranceApprovalOrder:OrderInsuranceApproval
{
[DataMember()]
public virtual 订单订单{ get ; set ; }
}
public partial class InsuranceApprovalPackage:OrderInsuranceApproval
{
[DataMember()]
public virtual TreatmentPlanPackages TreatmentPlanPackages { get ; set ; }
}
MAPPER:
DiscriminateSubClassesOnColumn( ObjectTypeID)。AlwaysSelectWithValue()
.SubClass< insuranceapprovalinvoice>(( int )InsuranceApprovalTypeEnum.Invoice,
m = > m.References(p = > p.PatientInvoice, InvoiceMasterID)。列( ObjectID)。ReadOnly())
.SubClass< insuranceapprovalorder>(( int )InsuranceApprovalTypeEnum.Order ,
m = > m.References(p = > p.Order, OrderID )。列( ObjectID)。ReadOnly())
.SubClass< insuranceapprovalpackage>(( int )InsuranceApprovalTypeEnum.Package,
m = > m.References(p = > p.TreatmentPlanPackages, TreatmentPlanPackagesID)。列( ObjectID)。ReadOnly()) ;
< / insuranceapprovalpackage > < / insuranceapprovalorder > < / insuranceapprovalinvoice >
I need to set more than one discriminate values for parent class. Is it possible to do and how?
For example:
PARENT_CLASS
DiscriminateSubClassesOnColumn("COLUMN_NAME", "X");
CHILD_CLASS_1
DiscriminatorValue("Y");
CHILD_CLASS_2
DiscriminatorValue("Z");
This is possible. But what if i have more than these 3 values in column "COLUMN_NAME"?
For example if "P" and "Q" are also possible values for that column what should i write?
DiscriminateSubClassesOnColumn("COLUMN_NAME", "X","P","Q"); Obviously this is not possible to write. But i don't know how to do this. Can someone help me?
Thanks.
ENTITY: public partial class InsuranceApprovalInvoice : OrderInsuranceApproval { [DataMember()] public virtual PatientInvoice PatientInvoice { get; set; } } public partial class InsuranceApprovalOrder : OrderInsuranceApproval { [DataMember()] public virtual Order Order { get; set; } } public partial class InsuranceApprovalPackage : OrderInsuranceApproval { [DataMember()] public virtual TreatmentPlanPackages TreatmentPlanPackages { get; set; } } MAPPER: DiscriminateSubClassesOnColumn("ObjectTypeID").AlwaysSelectWithValue() .SubClass<insuranceapprovalinvoice>((int) InsuranceApprovalTypeEnum.Invoice, m => m.References(p => p.PatientInvoice, "InvoiceMasterID").Column("ObjectID").ReadOnly()) .SubClass<insuranceapprovalorder>((int) InsuranceApprovalTypeEnum.Order, m => m.References(p => p.Order, "OrderID").Column("ObjectID").ReadOnly()) .SubClass<insuranceapprovalpackage>((int) InsuranceApprovalTypeEnum.Package, m => m.References(p => p.TreatmentPlanPackages, "TreatmentPlanPackagesID").Column("ObjectID").ReadOnly()); </insuranceapprovalpackage></insuranceapprovalorder></insuranceapprovalinvoice>
这篇关于流利的NHibernate鉴别值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!