跨Linq2SQL和Nhibernate共享UnitOfWork

跨Linq2SQL和Nhibernate共享UnitOfWork,nhibernate,linq-to-sql,unit-of-work,Nhibernate,Linq To Sql,Unit Of Work,我正在考虑在一个已经在使用Linq2SQL的应用程序中使用Nhibernate进行新的工作,是否可以同时使用这两种技术共享相同的工作单元 如果你想了解更多的背景 我正在开发一个web应用程序,它的大小可以称为“企业”,大约有400个表,该网站每月有数百万次点击,但业务逻辑并不特别复杂 该站点使用Linq2Sql,一切正常,但正如您所料,这已经产生了使“域”与数据库密切相关的效果 我曾建议引入NHibernate,但人们有理由说,这将是一个昂贵的练习,以取代正在工作的东西?如果它没有损坏,为什么要

我正在考虑在一个已经在使用Linq2SQL的应用程序中使用Nhibernate进行新的工作,是否可以同时使用这两种技术共享相同的工作单元

如果你想了解更多的背景

我正在开发一个web应用程序,它的大小可以称为“企业”,大约有400个表,该网站每月有数百万次点击,但业务逻辑并不特别复杂

该站点使用Linq2Sql,一切正常,但正如您所料,这已经产生了使“域”与数据库密切相关的效果


我曾建议引入NHibernate,但人们有理由说,这将是一个昂贵的练习,以取代正在工作的东西?

如果它没有损坏,为什么要修复它?您说业务逻辑并不复杂,所以如果Linq2Sql使您的域模型比您希望的更面向数据,这真的有关系吗?相对简单的领域真的会从更纯粹的OOP方法中受益吗?就我个人而言,我会保持原样,至少在出现改变技术的真正商业案例之前。考虑一下成本/收益。

从LINQ改为SQL到NHibernate,您的观点是什么?您缺少哪些功能?为什么要改为NHibernate而不是实体框架?“将L2迁移到EF将比迁移到NHib更容易。@steven,因为我以前大量使用过Nhibernate。Nhibnerate允许一个适当的域,它不是db的一对一映射,它有适当的POCO,它背后有一个更大的社区,并且通常是一个更复杂的工具。您的所有参数(除了您以前使用过它)也适用于实体框架。我不相信:-)史蒂夫也许你是对的。但它并没有真正回答我的问题。我可以在Linq2SQL和EF4/Nhib之间共享一个工作单元吗?我不知道答案,但我认为将它们封装在一个UoW中可能会很复杂。我不会走那条路。创建两个UOW并将其包装在一个事务中。确定。这一方,你没有真正回答我的问题。