Я сначала пытаюсь вытащить клиента из БД, но если моего клиента не существует, то я вызываю sql другой БД на сервере, чтобы получить информацию.Я хотел бы сохранить информацию о клиенте в моей базе данных.Сессия в настоящее время подключена к моей базе данных.
var customer = Session.Linq<Customer>().FirstOrDefault(x=>x.customernumber == cusotmerNumber);
if(customer == null) {
var sql = @"select ... from anotherdb.dbo.customer where customernumber = :customer";
customer = Session.CreateSqlQuery(sql)
.AddEntity(typeof(Customer))
.SetInt32("CustomerNumber",CustomerNumber).List<Customer>().FirstOrDefault();
using(Session.BeginTransaction()) {
Session.Save(customer);
Session.Transaction.Commit();
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что когда я вызываю Session.save, она не сохраняет клиента из альтернативной базы данных в мою текущуюдб.Если я вручную назначу все значения новому объекту клиента, то при сохранении файла .Save он сохранится.
Когда я смотрю на свойства транзакции после фиксации, она показывает флаг, что она была зафиксирована, и т. Д.и никаких ошибок не выдается.Я сделал то же самое с Session.Flush, Session.SaveOrUpdate и т. Д.
Есть ли способ принудительно вставить / обновить?