【发布时间】:2014-08-08 15:15:18
【问题描述】:
我用
var ap = new ActivityAppointment() {Activity = this.Session.Load<Activity>(appointmentId)};
创建一个 DTO ActivityAppointment 将其保存到数据库中。
ActivityAppointment 引用了我使用 session.Load() 设置的 Activity - 但是现在,我已经确定,当我调用 session.Load() 时,NHibernate 正在对数据库进行往返。我除外,NHibernate 只是创建了一个代理对象,我可以将其分配为对必须保存的 DTO 的引用。
我也尝试了一个不存在的约会 ID - 然后我得到一个异常
{"No row with the given identifier exists[Prayon.Entities.Activity#df659e2d-6f96-446f-b6ca-452816732a6c]"} System.Exception {NHibernate.ObjectNotFoundException}
我认为,NHibernate 不知道这一点,当它不往返数据库时 - 我认为 session.Load() 应该是这种情况 - 还是我错了?
【问题讨论】:
标签: c# session nhibernate proxy