Sql server 2005 Linq到SQL或使用ASP.NET 3.5和SQL Server 2005的Linq到实体

Sql server 2005 Linq到SQL或使用ASP.NET 3.5和SQL Server 2005的Linq到实体,sql-server-2005,linq-to-sql,entity-framework,.net-3.5,linq-to-entities,Sql Server 2005,Linq To Sql,Entity Framework,.net 3.5,Linq To Entities,我正在使用C#和ASP.NET 3.5与SQL Server 2005启动一个新项目,我正在尝试决定在LinqToSQL、LinqToEntities或NHibernate之间最好使用哪种ORM 理想情况下,我希望使用首选的Microsoft最佳实践;但我需要使用一种解决方案,该解决方案将提供与使用存储过程相当的性能,而无需维护开销,并且易于将更新部署到web应用程序和数据库,因为我们处于企业环境中,数据库由另一个组控制 我非常喜欢LinqToSQL提供的易用性,我倾向于任何Linq解决方案而不

我正在使用C#和ASP.NET 3.5与SQL Server 2005启动一个新项目,我正在尝试决定在LinqToSQL、LinqToEntities或NHibernate之间最好使用哪种ORM

理想情况下,我希望使用首选的Microsoft最佳实践;但我需要使用一种解决方案,该解决方案将提供与使用存储过程相当的性能,而无需维护开销,并且易于将更新部署到web应用程序和数据库,因为我们处于企业环境中,数据库由另一个组控制

我非常喜欢LinqToSQL提供的易用性,我倾向于任何Linq解决方案而不是NHibernate

提前感谢所有推荐

Jason

如果您正在寻找“首选的Microsoft最佳实践”,那么您希望使用实体框架(Linq to Entites)。微软表示,这是他们在ORM方面努力的重点。除了维护和安全修复之外,LINQtoSQL(我不认为)正在积极开发中

我个人的观点是使用LINQtoSQL进行更小、更简单的项目。我更喜欢使用EF的更大、更健壮的应用程序


NHibernate也是一个非常好的解决方案,它确实有LINQ提供者,所以您可能也希望对此进行调查(如果没有其他原因,只是为了充分了解情况)。但对我来说,我需要坚持使用微软的“官方”解决方案。

我认为这是微软推荐的解决方案。NHibernate有一个学习曲线,您需要通过它,但它可能是.NET中功能最丰富的ORM。不过,EF很简单,将DB对象拖到上面并打开,您就可以使用数据访问类了

我已经尝试了所有3种形式的NHibernate、LINQ到SQL和实体框架4。我在我的博客上写了我的经历

我认为NHibernate有很多高级特性,但它经常遇到典型的开源问题。它缺乏良好的文档,让简单的事情为您工作可能需要几天时间。LINQ to SQL是微软进入ORM世界的第一个先行者。展望未来,很明显,他们将反对特定于SQL server的LINQ-to-SQL技术。因此,选择实体框架4将是一个不错的选择。在我的博客中,我总结了LINQtoSQL和EntityFramework4之间的一些差异


您还可以参考Julie Larman的一个非常好的视频系列,该系列可在

上找到[nhibernate、entity framework、active records或linq2sql]()的可能副本。EF 3.5和EF 4.0非常不同。EF 4不是提问者的选择。NHibernate有视觉设计师。谢谢,实体框架很好使用,并且在将对象映射到多个表等方面提供了更大的灵活性。它似乎更适合我们的项目,因此我们将尝试一下,然后与使用NHibernate完成的其他项目进行比较。