如何创建中间有桥接表的一对多映射?
我基本上有 3 个表:Items、Tags 和 TagsToItems。
每个项目可以有许多标签,由 TagsToItems 表定义。如何使用 Fluent NHibernate 正确设置此映射?
我一直在玩,HasMany
但还没有完全弄清楚它是如何与桥牌桌一起工作的。
HasMany(x => x.Tags).Table("TagsToItems").KeyColumn("ItemId");
我最近尝试解决这个问题是这样的:
HasManyToMany(x => x.Tags)
.AsBag()
.Table("TagsToItems")
.ParentKeyColumn("ItemId")
.ChildKeyColumn("TagId")
.Cascade.All()
.Inverse();
然而,这是抛出错误:
Initializing[Namespace.Item#11] - 无法延迟初始化角色集合:Namespace.DataAccess.NHibernate.Entities.Item.Tags,没有会话或会话已关闭