我使用流畅的nhibernate 3.1映射到旧数据库。我有两个类,并希望将B加入A.数据库结构没有外键。
AModel.OccurrenceNumber和BModel.OccurrenceNumber具有相同的数据(即,在一个和另一个中声明#1234),只是不同的列名。在映射阶段可以加入吗?如果需要,我可以编写一个linq语句来加入它们,但是想知道它是否可以在这里完成。提前谢谢。
public class AMap : ClassMap<AModel>
{
public AMap()
{
Table("ATable");
Id(x => x.Id).GeneratedBy.Increment();
Map(x => x.OccurrenceNumber).Column("OCCUR"); //Same Data
}
}
public class BMap : ClassMap<BModel>
{
public BMap()
{
Table("BTable");
Id(x => x.Id).GeneratedBy.Increment();
Map(x => x.OccurrenceNumber).Column("B69_CLAIM_OCCUR"); // Same Data
}
}
答案 0 :(得分:0)
您可以在AMap或BMap类中声明以下引用
References<AModel>(x => x.AModels).Column("B69_CLAIM_OCCUR").PropertyRef("OccurrenceNumber").ReadOnly();
在BModel类中已将AModeldata数据定义为
public virtual IList<AModel> AModels{ get; set; }
因此,当您编写加入这两个表的查询时,它将自动加入B69_CLAIM_OCCUR
和OCCUR
。
我假设你在A和B实体之间有一对多的关系。