Ric*_*icL 5 nhibernate fluent-nhibernate asp.net-mvc-3
这是我的错误:
NHibernate.ObjectNotFoundException: No row with the given identifier exists[Project.Core.Entities.User#(GUID)]
at Hibernate.Impl.SessionFactoryImpl.DefaultEntityNotFoundDelegate.HandleEntityNotFound(String entityName, Object id)
at NHibernate.Event.Default.DefaultLoadEventListener.Load(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
Run Code Online (Sandbox Code Playgroud)
该系统的一位用户偶然遇到了这个错误,这对我来说完全没有意义。我所知道的:
知道为什么会发生这种情况吗?请指教!
改写我的 Qn:
我知道该错误是什么意思,但我似乎不明白是什么导致了丢失的用户行?我已将其全部放在 Cascade.ALL 上。我认为这与删除无关。上述情况可能会发生哪些情况?
编辑2:
请参考 FNH 的映射:这有什么问题吗?
public void Override(AutoMapping<Teacher> mapping)
{
mapping.References(x => x.User).Cascade.All().Not.LazyLoad();
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
我猜你在数据库中错过了 FK 约束,否则你不会在 FK 关系上丢失任何记录。在数据库中添加 FK 和 Cascade 规则,就不会出现任何“缺失行异常”。当您尝试执行与数据库模型不符的操作时,将会引发错误。