gpt4 book ai didi

nhibernate - 使用 FluentNHibernate 的相同实体关系

转载 作者:行者123 更新时间:2023-12-03 09:48:12 30 4
gpt4 key购买 nike

我正在尝试使用 FluentNHibernate 创建与同一实体的关系,但不知道如何操作。有人成功了吗?你能帮帮我吗?

这是我的实体类:

public class Menu
{
public virtual Guid MenuId { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual string Controller { get; set; }
public virtual int Order { get; set; }
public virtual Menu ParentMenu { get; set; }
}

最佳答案

映射可能是这样的

public class MenuMap : ClassMap<Menu>
{
public MenuMap()
{
Table("MenuTable");
Id(x => x.MenuId)
...

// parent
References(x => x.ParentMenu).Column("ParentId");

// children, see note below
HasMany(x => x.ChildMenus)
.Inverse()
.KeyColumn("ParentId")
.Cascade.AllDeleteOrphan()
}
}

注意:因为 Menu 实例可以有 parent,它也可以有 children。我用子集合扩展了映射,应该这样声明:

public class Menu
{
...
public virtual Menu ParentMenu { get; set; }
public virtual IList<Menu> ChildMenus { get; set; }
}

关于nhibernate - 使用 FluentNHibernate 的相同实体关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14450533/

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