Разрешение DevExpress.Xpo.Exceptions.SessionMixingException - PullRequest
0 голосов
/ 03 августа 2011

Я добавляю объект в другой объект, например так:

Foo foo = new Foo();
AnotherClass.bar.add(foo);  // bar is getting assigned with dependency injection in AnotherClass

Это вызывает DevExpress.Xpo.Exceptions.SessionMixingException следующим образом:

Метод инициализации Test.SetUp бросил исключение.DevExpress.Xpo.Exceptions.SessionMixingException: DevExpress.Xpo.Exceptions.SessionMixingException: объект 'Foo' принадлежит другому сеансу.

Как избежать захвата сеанса из AnotherClass одним захватомэта ошибка?

1 Ответ

1 голос
/ 04 августа 2011

Вы можете просто загрузить объект foo в сеансе AnotherClass с помощью

foo = AnotherClass.Session.GetObjectByKey<Foo>(foo.Oid);
AnotherClass.bar.add(foo);

Подробнее о работе сеанса можно узнать на http://www.devexpress.com/Products/NET/ORM/articles/SessionManagementCaching.xml

...