gpt4 book ai didi

c# - 有没有办法在 nhibernate 中进行反向查找?

转载 作者:行者123 更新时间:2023-11-30 18:08:23 24 4
gpt4 key购买 nike

我有两个表:

  1. 组件
  2. 组件依赖

ComponentDependencies 有两列:ComponentIdComponentDependencyID。 (两个外键都进入 Component 表的 Id 字段。

我正在使用 fluent nhiberate,我的组件对象有:

 public virtual IList<ComponentDependency> Dependencies { get; set; }

在我的 ComponentMap 类中,我有 nhibernate 映射:

HasMany(x => x.Dependencies)
.AsBag().Inverse();

所以当我有一个组件对象时,我可以看到它的依赖项列表。

无论如何我可以有一个额外的属性有“反向”列表。我的意思是我想要一个名为“DependentOf”的属性,它也是一个

  IList<ComponentDependency>

哪个包含当前组件是关系中的依赖组件的所有项?

最佳答案

这看起来像是一个 Material list 问题,组件通过 ComponentDependencies 链接表与自身具有多对多关系。您可以通过交替将哪一列作为父键列来映射两个关系方向:

HasManyToMany(x => x.Dependencies).Table("ComponentDependencies")
.ParentKeyColumn("ComponentId").ChildKeyColumn("ComponentDependencyId");

HasManyToMany(x => x.DependentOf).Table("ComponentDependencies")
.ParentKeyColumn("ComponentDependencyId").ChildKeyColumn("ComponentId");

关于c# - 有没有办法在 nhibernate 中进行反向查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3274197/

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