数据访问:流畅的Nhibernate vs ADO.NET vs Linq to Sql?

New*_*per 2 .net c# sql-server fluent-nhibernate linq-to-sql

创建我的Windows窗体应用程序并使用ADO.Net作为数据访问层,使用SQL服务器作为我的后端,使用大量SP.

我还坚持使用ADO.NET还是去学习FnH或Linq to SQL?我该选哪个?或者我仍然坚持ADO.NET?

你可以给我EF或FluentNhibernate上的推荐网站,以获得教程.

在此致谢谢

And*_*ite 5

这真的取决于你选择一个 - 它们都是有效的技术.

如果您已经熟悉了低级ADO.NET构造,并且不想花时间学习不同的方法,那么您可以坚持使用普通的旧ADO.NET - 这不会很快消失.

如果你想从一个非常简单的ORM开始,我建议使用LINQ to SQL.但是,微软基本上已经将LINQ to SQL放在了实体框架中,因此如果您的项目存在长期维护问题,LINQ to SQL可能会也可能不是最佳选择.它是一个非常好,轻巧,易于使用的框架,但......

如果您想学习最新的MS数据访问技术,可以试试Entity Framework.初始设置不是太糟糕,但实体框架是一个野兽,所以如果你遇到的工作方式与你期望的不同,或者你想了解更多,那么在某些时候可能会有一些学习曲线.EF在这一点上功能相当全面,但它仍缺乏NHibernate等更成熟的数据访问技术所提供的一些功能.

最后,如果您想尝试与Microsoft产品不同的东西,NHibernate是一个很棒的框架.你不会找到实体设计师,属性页面,向导,手持等等,但这几乎是NHibnerate的重点.在Fluent NHibernate中,主要关注的是域代码,而不是数据库,这使得它非常有利于单元测试.实体框架因持久性无知而变得更好,但与NHibernate相比,它仍然感觉有点沉重.

除此之外,您还可以查看其他几种可靠的数据访问技术,但我希望这会为您提供一些信息.