0

我正在将一个对象添加到另一个对象,如下所示:

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”对象属于不同的会话。

一个抓取如何从另一个类中获取会话以避免此错误?

4

1 回答 1

1

您可以简单地在另一个类的会话中加载 foo 对象,

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

您可以在http://www.devexpress.com/Products/NET/ORM/articles/SessionManagementCaching.xml了解更多会话的工作原理

于 2011-08-04T10:24:22.660 回答