gpt4 book ai didi

nhibernate - HasOne与引用映射流利的NHibernate

转载 作者:行者123 更新时间:2023-12-04 05:15:19 25 4
gpt4 key购买 nike

这是我第一次使用FluentNhibernate Mapping,面临着如何引用另一个表的问题。任何帮助表示赞赏:

我有几个名为CD_varname的表,所有这些表都包含两列-CODE和DESCR。

我有一个主表,称为收件人,它有两列,分别称为ALIVE和SEX,都是类型编号,它们引用了表CD_ALIVE和CD_SEX。
如果收件人中的Alive = 1,则我们需要从Code_ = 1的CD_ALIVE表中获取代码和说明。

我已经描述了一个Codef类:

public Class Codef
{
int Code { get; set; }
string Descr { get; set; }
}

我的收件人类别将这些内容分配给组件。收件人类如下所示:
 public Class IRecepient
{
int ID { get; set; }
Birth Birth {get; set;}
Death Death { get; set; }
}

我的生与死类在哪里:
public Class Birth
{
DateTime BDate { get; set; }
Codef Sex { get; set; }
Codef Ethnicity { get; set; } //CD_ETHNICITy Table
Codef Race { get; set; } //CD_RACE Table
}

和我的死亡等级:
public Class Death
{
DateTime DeathDate { get; set; }
Codef Alive { get; set; }
}

因此,Recipient中的“Alive”主列实际上是在引用我的Recipient.Death.Alive.Code

我有一个编解码器映射类:
   public CodefMapping()
{
Map(x => x.Code, "CODE");
Map(x => x.Descr, "DESCR");
}

我正在尝试进行收件人映射,这就是我遇到的问题。我可以做这样的事情:
 HasOne<CodefMapping>(c => c.Death.Alive)
.PropertyRef(c => c.Code)
.PropertyRef(c => c.Descr)
.WithForeignKey("ALIVE");

它不起作用:( 任何帮助,我们将不胜感激。

谢谢你。

最佳答案

我认为您想使用References映射
HasOne表示您要映射在一起的2个实体共享“互斥”标识符

http://jagregory.com/writings/i-think-you-mean-a-many-to-one-sir/

关于nhibernate - HasOne与引用映射流利的NHibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2382943/

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