C # NHibernate StaleObjectStateException - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть база данных MySQL, связанная с NHibernate.Я получаю StaleObjectStateException:

Сообщение: метод теста DALTest.UnitTest1.AddingResultAndGetAll сгенерировал исключение: NHibernate.StaleObjectStateException: строка была обновлена ​​или удалена другой транзакцией (или сопоставление несохраненного значения было неверным): [Domain.Bean.Result # 3]

... здесь при вызове rr.Save:

DateTime date = new DateTime();
rr = new ResultRepository();
FootRace foot = new FootRace(2,"une courseeee", "vraiment une chouette course", date, 5, false);
Participant part = new Participant(2,"Boveeé", "Joseeé", 123, "M", date, 5);

rr.Save(new Result(3,foot,part , new TimeSpan(2500),5)); 

Где моя реализация интерфейса:

public void Save(Result result) {
                var e =Session.GetSessionImplementation().PersistenceContext.EntityEntries;
                Session.SaveOrUpdate(result);
                Session.Flush();
            }

После некоторых исследований похоже, что это проблема с потоками, но я не могу найти решение этой проблемы.Кстати, база данных сбрасывается в тот момент, когда я вызываю этот тест, так что внутри абсолютно ничего нет.


Вот файл сопоставления XML:

<class name="Result" table="result">
    <id name="Id" column="idResult" type="int">
        <generator class="native"></generator>
    </id>
    <many-to-one name="FootRace" class="FootRace" column="idFootRace" cascade="save-update"/>
    <many-to-one name="Participant" class ="Participant" column ="idParticipant" cascade="save-update"/>
    <property name="RaceTime" column="raceTime" not-null="false"/>
    <property name="Rank" column="rank"/>
</class> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...