我有两个使用 NHibernate 映射到 DB 的实体:
class Entity1
{
public int Id { get; set; }
public Entity2[] ReferencedEntities { get; set; }
}
class Entity2
{
public int Id { get; set; }
}
对于 Entity1,我还指定了与 Entity2 的多对多关系:
HasManyToMany(x => x.ReferencedEntities);
据我了解,NHibernate 在内部表示创建一些关系实体的多对多关系,例如:
class Reference
{
public Entity1 Entity1 { get; set; }
public Entity2 Entity2 { get; set; }
}
我正在使用 NHibernate 无状态会话将这些实体添加到数据库,如下所示:
using (var session = sessionFactory.OpenStatelessSession())
{
session.Insert(entity1);
foreach (var entity2 in entity1.ReferencedEntities)
{
session.Insert(entity2);
}
}
但我也想添加它们之间的关系。为此,我还需要保存关系实体。如何使用无状态会话添加多对多关系?我需要隐式指定关系实体还是有其他方式?