nhibernate和asp.net mvc中每个请求的工作单元和会话

时间:2009-11-29 20:00:55

标签: asp.net-mvc nhibernate unit-of-work

我一直在使用ncommon框架(http://code.google.com/p/ncommon/)和nhibernate以及asp.net mvc。我非常喜欢工作单元模式的实现,但在我的视图中遇到延迟加载的问题。我正在寻找如何使用ncommon实现每个请求模式的会话,或者查看另一个支持的框架:

  1. linq to nhibernate
  2. 工作单元格式
  3. 每个请求模式的会话以支持视图中的延迟加载
  4. 任何提示都非常感谢。

2 个答案:

答案 0 :(得分:2)

看看SharpArchitecture.net是否有一个基于NHibernate的MVC框架,我认为它符合您的规范。

答案 1 :(得分:2)

首先,如果您在视图模型中使用实体,那么您做错了。我很抱歉打破你,但你不能在你的视图中真正使用你的数据库模型。如果我在数据库中有一个竞赛实体,我最终可能会根据我的需要选择3-4竞赛。基本上我会急切地加载我可能需要的所有内容,并发送该特定视图所需的内容。

起初这对我来说似乎比尝试用NHibernate解决它更有用,但最后我发现我很快就花了很多时间做这件事。还有一个名为AutoMapper的开源项目,可以在不同模型中的各个实体之间传输数据。

希望这会有所帮助,而且你不会对最佳实践感到绝望!