English 中文(简体)
参考文献
原标题:One to one self reference with Fluent NHibernate

奥凯,我想我有一个情景,我在那里看到。 我的情况是,我有一个目标类型,需要随着时间的推移加以改变,同时保留同一表格内的变化历史(而不是在审计表中)。

public class Item 
{
    public virtual int Id { get; set; }
    public virtual ....
    public virtual Item Replaces { get; set; }
    public virtual Item ReplacedBy { get; set; }
}

我对如何在动荡的NHIbernate代表这一点感到困惑。 在数据库中,我不需要一个替代和替换的By领域——我只能从其中之一获得信息。 但我认为,在我的恩赫特目标中,我都需要看到这一点。

目前,我已经这样做,但没有绘制数据库地图:

mapping.HasOne(t => t.ReplacedBy).ForeignKey("Id").Class(typeof(Item));

一如既往,任何想法都受到高度赞赏。

问题回答

缩略语 该表(典型的)是两个单独的表格之间的推定关系,其中涉及具有主要关键价值的记录。 不可能有<代码>Has One为你的工作。 我的博客上有一个职位:。 我认为,你指的是一种多对一的,即,其中含有对<代码>Has One关系的一些误解。

相反,你应研究如何使用<代码>References,这是一个many-to-one的关系,并确实支持自我参照关系。





相关问题
Does Fluent NHibernate support "trigger-identity"

I posted the question in the Fluent-NHibernate newgroup but so far there has been no answer from the void. Is there a Fluent NHibernate mapping for the NHibernate "trigger-identity" method of ...

automapping nested components naming conventions

Im making the switch from Fluent Mapping to Automapping in my current project. If I have the following domain: public class Matter{ public Client Client{get;set;} } public class Client { ...

NHibernate Search in a List using ICriteria

I have my class X : public class ClassX { public virtual IList<ClassY> ListY { get; set; } ... } My ClassX mapping (using Fluent) ... HasMany<ClassX>(x => x.ListY ) ....

Fluent nHibernate keeps recreating my database, why?

I m trying to convert my data layer from Linq2Sql to nHibernate. I think Xml the configuration in nHibernate is pretty backwards so I m using Fluent. I ve managed to get fluent, add in a repository ...

How to fluent-map this (using fluent nhibernate)?

I have two tables in my database "Styles" and "BannedStyles". They have a reference via the ItemNo. Now styles can be banned per store. So if style x is banned at store Y then its very possible that ...

热门标签