0

我正在使用流利的 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
    }
}
4

1 回答 1

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_OCCUROCCUR

我假设您在 A 和 B 实体之间存在一对多关系。

于 2013-08-29T17:12:32.353 回答