Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Visual Studio 2008中的ADO.Net或实体框架_.net_Entity Framework_Ado.net - Fatal编程技术网

Visual Studio 2008中的ADO.Net或实体框架

Visual Studio 2008中的ADO.Net或实体框架,.net,entity-framework,ado.net,.net,Entity Framework,Ado.net,如果您现在正在.NET2008中编程一个小型数据库应用程序,您会使用普通的ADO.NET或ADO.NET实体框架,还是两者兼而有之 我正在使用VisualStudio2008学习.Net。我已经用MSAccessVBA做了很多编程,但我已经决定是时候超越桌面和90年代了。我的问题一部分是关于我应该学习什么,另一部分是关于我应该在现实世界中实际使用什么。如果您的数据库足够小,并且您没有太多的查询,请使用ADO.NET,但是如果您正在进行任何规模的操作,请使用实体框架,因为它将值得您承担开销。数据生

如果您现在正在.NET2008中编程一个小型数据库应用程序,您会使用普通的ADO.NET或ADO.NET实体框架,还是两者兼而有之


我正在使用VisualStudio2008学习.Net。我已经用MSAccessVBA做了很多编程,但我已经决定是时候超越桌面和90年代了。我的问题一部分是关于我应该学习什么,另一部分是关于我应该在现实世界中实际使用什么。

如果您的数据库足够小,并且您没有太多的查询,请使用ADO.NET,但是如果您正在进行任何规模的操作,请使用实体框架,因为它将值得您承担开销。数据生成和本机查询关键字将大大减少错误。

从技术上讲,实体框架是ADO.Net的演变。帮自己一个忙,转储数据集以支持更健壮的ORM。此时,任何人都不应该再传递数据集了


值得注意的是,实体框架并不是您在使用ORMs时的唯一选择。有,等等。。。所有这些在2008年都会很好地发挥作用。在我看来,EF 1还没有完全成熟。

如果你在学习,请使用EF。倒退有什么意义。 这让dev变得容易多了。ADO/Dataset的处理方式已经过时。 此外,如果您移动到web,那么最好将EF与WCF数据服务一起使用。这是一个巧妙的诀窍


其次,为什么要使用2008。如果您正在学习,请使用最新的工具。快速版真的很棒。

我不会使用VS2008附带的Entity Framework版本。VS2010的实体框架很好

我可能也不会使用ADO.NET,因为那时我似乎总是编写自己的自定义ORM

对于.NET3.5/VS2008,我建议使用NHibernate。如果您希望快速开始,并且可以在完成项目后扔掉该项目,那么Linq To Sql可能是一个选项(因为任何具有较长生命周期的项目都可能必须重写才能使用EF或NHibernate)

因此,首先尝试NHibernate,如果学习曲线太过令人生畏,请返回LinqToSql或EF。一旦你学会了一种ORM,学习第二种ORM就容易多了

此外,您可以在此处阅读更多有关为.NET选择ORM的内容:


知道VS 2008只使用EFv1,而不是更新更好的EFv4,您是否仍保留您的答案?@HK1:是的,VS2008只在.NET 3.5-->EFv1上使用。EF v4仅在.NET 4上可用-->为此您需要VS 2010谢谢,我想您还没有完全理解我的问题。我读到EFV1并没有真正准备好使用,但VS2010中的EFV4得到了更好的评价,因为微软已经修复了EFV1中存在的许多问题。Josh在他的回答中也提到了同样的问题。LINQ TO SQL为+1。在不知道他的项目的规模和范围的情况下,你不应该说他将不得不放弃这个项目。有成千上万的L2S应用程序在那里运行得很好。只要SQL查询保持足够的效率,我就没有理由因为MS说L2S已经死了就重新做应用程序。@Graham:我没说他必须放弃这个项目。有很多应用程序使用RDO/ADO/OLEDB/ODBC以及微软早已放弃的任何其他数据库技术。为什么建议有人使用一种废弃的技术来构建新的代码库?五年后,当我提出这个问题时,我们发现实体框架查询太有限,ADO.NET DataReader的查询性能太差。我现在不同意“在这一点上,任何人都不应该再传递数据集”的想法。无论如何,我们还是要先在迁移中使用EF代码,但是我们的GET查询结果大部分都是原始SQL,并且越来越多地使用DataReader来提高速度。