под капотом nhibernate использует ado.net для подключения к источникам данных.Поэтому вам нужно посмотреть, как ado.net справится с этой ситуацией.
Но кроме того, я не думаю, что вы бы что-нибудь выиграли, если бы могли это сделать.
Некоторый фон: объекты в nhibernate привязаны к сеансам, которые привязаны к фабрикам сеансов, которые привязаны к 1 соединению.
Допустим, у вас был балансировщик нагрузки с ip 1 для чтения.И он уравновешивает базы данных на ip 2 и 3. И вы сразу нажимаете ip 2 для записи.
Таким образом, у вас есть
Ip Use
1 Balancer
2 Read / Write
3 Read
Если вы читаете объект с сеансом, связанным с соединением 1Вы должны загрузить этот объект, а затем сохранить и сбросить для записи в сеансе, связанном с соединением 2. В этот момент вы сделали 2 чтения и 1 запись.Принимая во внимание, что если вы используете одну фабрику сессий, то у вас есть чтение и запись (при условии, что один и тот же сеанс жив во время чтения и записи или что настроено кэширование 2-го уровня).