通常,DTO不包含行为(如“保存”,“加载”),也不包含有关它们如何持久化的知识(ISession)。听起来您真正创建的是一个数据层。理想情况下,您的业务层也不应该了解ISession。就是说,您可以根据需要将所有层次简化为所需的快捷方式,但是如果您的ORM遍历所有图层,以后可能很难更改为其他ORM。
对于ISession生命周期管理,您必须确定是否要使用UnitOfWork模式,该模式基本上说每个用户请求都获得一个新的ISession。ISession生命周期还有其他选择,您在这方面确实不受限制。通常,关于Web应用程序,Windows应用程序以及其他任何应用程序类型,可能都有最佳实践,但是您没有指定要编写的内容。



