У меня есть общая dll, на которую ссылаются настольные приложения и веб-приложения. Один из методов создает 3 объекта и вставляет их в БД в транзакции.Операция NHibernate не работает должным образом на Postgres
Однако, когда я вызываю этот метод одновременно с веб-приложением и настольным приложением, объекты не вставлены 3by3 ... их порядок смешанный (1 из настольного приложения, затем 1 из веб-приложения и т. Д.).
Является ли мой код ОК? Есть ли какое-то отношение к сопоставлению или nhibernate cfg ??? Спасибо вам большое заблаговременно.
Notifications not = new Notifications();
not.Notes = applicationName;
not.GeneratedTime = DateTime.Now;
using (var session = SessionManager.OpenSession())
using (var transaction = session.BeginTransaction())
{
// do what you need to do with the session
session.Save(not);
not = new Notifications();
not.Notes = applicationName;
not.GeneratedTime = DateTime.Now;
session.Save(not);
not = new Notifications();
not.Notes = applicationName;
not.GeneratedTime = DateTime.Now;
// do what you need to do with the session
session.Save(not);
transaction.Commit();
}
Строки в реляционной базе данных, *** НЕ *** «отсортировано». Порядок, в котором они хранятся, совершенно не имеет значения. Просто убедитесь, что вы применили «ORDER BY», когда * извлекаете * данные. Это можно сделать, например, столбец временной метки, который хранит время, когда была вставлена строка. –