LINQ到实体VS功能NHibernate VS的LINQ to SQL(帮助)(linq to e

2019-09-18 23:10发布

我必须建立一个新闻频道网站..

请帮我决定使用数据操作哪种技术?

1)LINQ到实体2)的LINQ to SQL 3)功能NHibernate 4)ADO.Net

网站将基于ASP.Net MVC和C#。

主要问题:

1)应该很容易维护和扩展。

2)良好的性能

请明示与一个例子,如果可能你的看法..

谢谢

Chitresh

Answer 1:

的利弊:

LINQ到实体

允许您直接(在LINQ喜欢SQL)添加抽象(实体)的另一层而不是映射表。 支持多个数据提供者(而不仅仅是SQL Server)的。 需要更多的学习时间比的LINQ to SQL。 提供工作理念的单位。 中等至较高的学习曲线。

的LINQ to SQL

让您轻松映射你的表,存储的特效等提供工作的概念单位。 只有在SQL Server后端工作。 容易实现,但需要的dbml重建如果DB模式的改变(从DB 1路同步对象),所以有点难以维持。 低 - 中的学习曲线。 性能方面,...我认为堆栈溢出是使用LINQ到SQL。 您如何看待它执行? 有工作的概念单位。

功能NHibernate

不能发表评论......对此一无所知。 如果是喜欢什么NHibernate的,应该是相当灵活的。 大概较高的学习曲线。 有人纠正我在这...

ADO.NET(不谈论命名的DataSet这里...)

应该是最快的(没有抽象)。 灵活,弯曲,反正你想要的。 低学习曲线。 非常基本的,做一切自己的办法。 大多数时间我去了简单的项目这条路线。 可以降低生产效率。 你可以用代码生成增加它来获得一些生产力。

您的其他选项...亚音速可能。



Answer 2:

NHibernate的(功能NHibernate)

流利的NHibernate的是一个组件,以帮助您映射您的实体,这样NHibernate的知道它要去把从数据库数据。 如果你从来没有使用过NHibernate的它可以是一个有点难以知道如何映射和处理NHibernateSession但也有大量的信息在这里计算器和其他地方,如小号#ARP的会话处理和为例NHibernate的夏季得到一些教训在映射。



Answer 3:

我会使用LINQ到实体或NHibernate的(实际上,我与NHibernate去,但是这是一个我最熟悉的) - 和ADO.Net(但只是一点点)。

通过与NHibernate /实体所做的一切就可以开始。 一旦启动并去,你会发现它出色的成绩。 但也有在那里你会需要更多的性能的情况下(你有一个很好的分析工具?)。 对于这些情况,对其进行编码,在直Ado.Net(应该让你的数据库调用的不到10%)。 与NHibernate,你可以使用NHibernate会话,让您连接对象为你。



文章来源: linq to entities vs fluent nhibernate vs linq to sql (Help)