gpt4 book ai didi

nhibernate - 使用 Fluent NHibernate 使用两个非 FK 列连接到表

转载 作者:行者123 更新时间:2023-12-04 08:53:33 26 4
gpt4 key购买 nike

我正在使用 Fluent NHibernate,我有两个表:

 BusinessPlan [Id, Year, CustomerCode]

PreviousYearData [Id, Year, CustomerCode, MoreFieldsForData]

在我的域中,我想将 PreviousYearData 加入 BusinessPlan 以创建如下实体:
public class BusinessPlan {
public Guid Id { get; set; }
public int Year { get; set; }
public string CustomerCode { get; set; }
public PreviousYearData PreviousYearData {get; set;}
}

public class PreviousYearData {
public Guid Id { get; set; }
public int Year { get; set; }
public string CustomerCode { get; set; }
// many more fields
}

PreviousYearData 表中的数据在创建 BusinessPlan 之前的年初预先填充,所以我不知道 BusinessPlan 的 Id 是什么,也无法创建正常的外键。我想我想做的是根据Year 和CustomerCode 两列将PreviousYearData 加入BusinessPlan。使用 Fluent NHibernate 可以做到这一点吗?有没有另一种更有意义的方法来解决这个问题?

最佳答案

我想这个或类似的应该适合你:

        HasMany(x => x.PreviousYearDatas )
.Access.AsCamelCaseField(Prefix.Underscore)
.WithKeyColumns("YEAR", "CUSTOMER_CODE")
.LazyLoad();

你会有收藏,但你将能够得到你想要的。

还有另一种结构:
        HasMany( 
// some mapping but includes one foreign key - say customer code
.Where( "YEAR = 2010" )

大概这是最好的选择。我不认为岁月经常改变:)

关于nhibernate - 使用 Fluent NHibernate 使用两个非 FK 列连接到表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3730822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com