Nhibernate的困境。调用lock来重新挂起对象会引发异常“No persister for:MovieProxy”

时间:2012-10-20 07:51:34

标签: nhibernate

以下是代码。我把它简化为零。基本上我打开一个会话,加载电影,测试该锁定工作,然后逐出该项目,然后尝试再次锁定它,它会抛出异常。谁看过这个吗。如果有人能提供帮助,我将不胜感激。没有自定义拦截器或任何东西。我使用流利的nhibernate映射和nhibernate 3.3.1.4000。

var session = SessionFactory.OpenSession();

var m = session.Get(movie.Id);

session.Lock(m,LockMode.None);

session.Evict(米);

session.Lock(m,LockMode.None);

我创建了一个简单的类映射来缩小问题范围。该问题似乎是标记为属性的延迟加载中的错误。当延迟加载的电话号码被注释掉时,锁定工作正常,但是当它包含在映射中时会崩溃。

        //DynamicUpdate();
        //LazyLoad();
        Id(x => x.Id);
        Map(x => x.Name).Unique();
        Map(x => x.CleanName);
        Map(x => x.PhoneNumber).LazyLoad();
        HasMany(o => o.CountryList).Table("Country").Element("String").Cascade.AllDeleteOrphan().LazyLoad();
        //HasMany(x => x.AddressList).Cascade.AllDeleteOrphan().Inverse().LazyLoad();
        Version(x => x.EditDate);

0 个答案:

没有答案