Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
经典ADO.NET或实体框架更适合大规模数据库事务?_.net_Entity Framework_Ado.net - Fatal编程技术网

经典ADO.NET或实体框架更适合大规模数据库事务?

经典ADO.NET或实体框架更适合大规模数据库事务?,.net,entity-framework,ado.net,.net,Entity Framework,Ado.net,我们刚刚开始一个使用.NET3.5和MSSQLS2008开发web门户的项目。有人提出了一个问题,即处理涉及数万条记录甚至数十万条记录的数据访问时,哪个是明智的选择?我在某个地方看到了一个表,它将ADO.NET、EF和LINQ与SQL进行了比较,看起来LINQ与SQL的平均速度是最慢的,但ADO.NET被大型操作阻塞了 顺便问一下,您对大规模使用NHibernate有何想法?归根结底,所有东西都将使用ADO.NET 我可能会使用Repository模式编写一个概念验证应用程序(一个存储库使用实体

我们刚刚开始一个使用.NET3.5和MSSQLS2008开发web门户的项目。有人提出了一个问题,即处理涉及数万条记录甚至数十万条记录的数据访问时,哪个是明智的选择?我在某个地方看到了一个表,它将ADO.NET、EF和LINQ与SQL进行了比较,看起来LINQ与SQL的平均速度是最慢的,但ADO.NET被大型操作阻塞了


顺便问一下,您对大规模使用NHibernate有何想法?

归根结底,所有东西都将使用ADO.NET

我可能会使用Repository模式编写一个概念验证应用程序(一个存储库使用实体框架,另一个使用原始ADO.NET)

运行一些测试,看看哪种方法更适合您的需要


我将告诉您,使用vanilla ADO.NET将使您能够更精确地控制数据库中实际执行的操作。

如果使用MS Sql,Linq2Sql和EF都会将源代码转换为T-Sql。速度取决于它们转换为sql的方式。请记住,您可以随时使用其中任何一种调用您自己的sql(s-PROC),从而在生成的sql执行得不够好时,可以更好地控制对存储执行的操作。

StackOverflow.com使用
LINQ to sql
。我猜他们现在正在处理数十万张唱片。您的团队是否接受SO的绩效

正如其他人所说。不管怎样,它最终都是一样的,
T-SQL
。ORMs是关于函数编程和软件设计的。始终可以对底层查询进行优化。仅仅因为某人的测试表明它在特定情况下表现更好,就使用vanilla
ADO.NET
,这对我来说似乎是一个不好的理由


是比较框架和优化查询的非常有用的工具。如果你还没有,你应该去看看。

我来自甲骨文公司,所以我几乎没有关于LINQ2SQL和ADO.NET的任何线索。到目前为止,ADO.NET似乎对我来说是最舒服的,但担心的是,当我们的网站已经成熟时,可能会切换到另一种方法,这就是我不得不四处询问的原因。谢谢你的链接@弗雷德:啊,明白了。如果您现在刚刚开始,我认为EntityFramework4是一个不错的选择。微软已经明确表示了他们对这项技术的承诺。他们展示了v4中的所有改进。使用ORM而不是直接查询需要一些时间来适应。但我希望你会喜欢它一旦一切开始走到一起。LINQPad确实加快了学习过程,让您可以在实体仍在开发时轻松测试实体。祝你项目顺利。