我必须建立一个新闻频道网站..
请帮我决定使用数据操作哪种技术?
1)LINQ到实体2)的LINQ to SQL 3)功能NHibernate 4)ADO.Net
网站将基于ASP.Net MVC和C#。
主要问题:
1)应该很容易维护和扩展。
2)良好的性能
请明示与一个例子,如果可能你的看法..
谢谢
Chitresh
我必须建立一个新闻频道网站..
请帮我决定使用数据操作哪种技术?
1)LINQ到实体2)的LINQ to SQL 3)功能NHibernate 4)ADO.Net
网站将基于ASP.Net MVC和C#。
主要问题:
1)应该很容易维护和扩展。
2)良好的性能
请明示与一个例子,如果可能你的看法..
谢谢
Chitresh
的利弊:
LINQ到实体
允许您直接(在LINQ喜欢SQL)添加抽象(实体)的另一层而不是映射表。 支持多个数据提供者(而不仅仅是SQL Server)的。 需要更多的学习时间比的LINQ to SQL。 提供工作理念的单位。 中等至较高的学习曲线。
的LINQ to SQL
让您轻松映射你的表,存储的特效等提供工作的概念单位。 只有在SQL Server后端工作。 容易实现,但需要的dbml重建如果DB模式的改变(从DB 1路同步对象),所以有点难以维持。 低 - 中的学习曲线。 性能方面,...我认为堆栈溢出是使用LINQ到SQL。 您如何看待它执行? 有工作的概念单位。
功能NHibernate
不能发表评论......对此一无所知。 如果是喜欢什么NHibernate的,应该是相当灵活的。 大概较高的学习曲线。 有人纠正我在这...
ADO.NET(不谈论命名的DataSet这里...)
应该是最快的(没有抽象)。 灵活,弯曲,反正你想要的。 低学习曲线。 非常基本的,做一切自己的办法。 大多数时间我去了简单的项目这条路线。 可以降低生产效率。 你可以用代码生成增加它来获得一些生产力。
您的其他选项...亚音速可能。
NHibernate的(功能NHibernate)
流利的NHibernate的是一个组件,以帮助您映射您的实体,这样NHibernate的知道它要去把从数据库数据。 如果你从来没有使用过NHibernate的它可以是一个有点难以知道如何映射和处理NHibernateSession但也有大量的信息在这里计算器和其他地方,如小号#ARP的会话处理和为例NHibernate的夏季得到一些教训在映射。
我会使用LINQ到实体或NHibernate的(实际上,我与NHibernate去,但是这是一个我最熟悉的) - 和ADO.Net(但只是一点点)。
通过与NHibernate /实体所做的一切就可以开始。 一旦启动并去,你会发现它出色的成绩。 但也有在那里你会需要更多的性能的情况下(你有一个很好的分析工具?)。 对于这些情况,对其进行编码,在直Ado.Net(应该让你的数据库调用的不到10%)。 与NHibernate,你可以使用NHibernate会话,让您连接对象为你。