You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NHibernate映射多实体至同表时是否在后台使用分布式事务?

NHibernate多实体映射至同表的事务特性

NHibernate的一项核心优势是:无需借助继承,就能将多个不同的实体类映射到同一个数据库表。

场景示例

针对餐厅限界上下文的实体:

public class RestaurantCustomer
{
    public int Id;
    public string Name;
}

针对库存限界上下文的实体:

public class InventoryCustomer
{
    public int Id;
    public string Name;
}

可以将这两个实体类都映射到数据库中的Customer表。

与EF Core的差异

EF Core实现该功能时,需要使用两个不同的DbContext,并且后台会自动启用分布式事务来协调操作。

NHibernate的处理方式

NHibernate不需要分布式事务就能支持该功能。

原因在于:你可以在同一个NHibernate会话(Session)中同时操作这两个实体——只要它们的映射配置都指向Customer表,且当前会话使用的是同一个数据库连接。所有针对这两个实体的增删改查操作,都会在同一个本地事务中执行,完全不需要分布式事务的介入。

内容的提问来源于stack exchange,提问作者Roshan Budhathoki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 12:04:52