Linq to sql LINQ到SQL-使用还是不使用这是个问题

Linq to sql LINQ到SQL-使用还是不使用这是个问题,linq-to-sql,Linq To Sql,我来自不同的语言,对于使用什么和不使用什么总是有不同的观点。关于为什么使用或不使用LINQtoSQL,您的看法和利弊如何 我还看到了NHibernate的LINQ,如果你有NHibernate,这个值得使用吗 我还没有安装NHibernate 谢谢如果不知道要用它构建什么,这很难回答 对于小规模的项目,根据我的经验,您可以非常轻松地启动和运行LINQtoSQL,并且使用它很容易。但是,它确实缺少一些特性(我相信是继承)。此外,微软已经停止了LINQ到SQL的进一步开发 Microsoft当前的O

我来自不同的语言,对于使用什么和不使用什么总是有不同的观点。关于为什么使用或不使用LINQtoSQL,您的看法和利弊如何

我还看到了NHibernate的LINQ,如果你有NHibernate,这个值得使用吗

我还没有安装NHibernate


谢谢

如果不知道要用它构建什么,这很难回答

对于小规模的项目,根据我的经验,您可以非常轻松地启动和运行LINQtoSQL,并且使用它很容易。但是,它确实缺少一些特性(我相信是继承)。此外,微软已经停止了LINQ到SQL的进一步开发

Microsoft当前的ORM/持久性框架是Entity Framework 4。MS正在积极开发该软件;它具有比LINQ到SQL更多的功能,并且被认为更适合企业级应用程序。使用EF4,您可以在查询中使用LINQ表达式,就像使用LINQtoSQL一样

另一个选择是NHibernate,我在当前项目中使用它,根据我的经验,它有点两全其美。它可能对您有一些价值,因为它是开源的。这很容易开始,但要准备花一些时间学习更高级的概念。在我们使用的版本(2.x)中,LINQ到NHibernate还不是很成熟,但我认为它在3.0中得到了很大的改进。您可以在LINQ中进行一些查询,但好的是,您将能够依靠非常强大的HQL或Criteria API;当你需要的时候

在我看来,这三个是目前.NET世界中最大的ORM竞争者。也有亚音速的,或者说是半音速的;我没有这方面的经验;但它们应该适合小项目


这样的话,你需要仔细考虑你对ORM的要求,测试一些(写一些PoC代码,模仿你将要做的数据访问;看看建立起来有多容易)。对于这一点,有一个简单的是/否答案。

我可能不建议在这一点上使用LINQ to SQL。如果您正在进行新的开发,我建议您使用

这是一个比LINQ到SQL更流行、更积极开发的替代方案,因为它得到了微软的广泛关注


至于LINQ到Nhibernate。。。如果您已经计划使用Nhibernate,这将为您带来LINQ的好处。一、 就个人而言,我非常喜欢在我的项目中使用LINQ,因为我发现它使我的代码编写速度更快,而且更易于维护,所以我强烈建议这样做。对于.NET开发,我可能仍然更喜欢EF而不是Nhibernate(它内置在框架中,由MS等支持)。

您可能想知道为什么Microsoft同时提供LINQ到SQL和实体框架。微软数据MVP肖恩·维尔德茅斯(Shawn Wildermuth)在最近的文章中给出了一个很好的解释。他在文章的第二段到最后一段提到了LINQtoSQL和EF。我在大公司工作,所以我不想构建小应用程序。我现在正在学习,所以我可以成为未来更好的项目。我有很多东西要学,以确保我和其他人在同一页上。