Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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
C#数据库访问建议_C#_Database_Entity Framework_Database Connection - Fatal编程技术网

C#数据库访问建议

C#数据库访问建议,c#,database,entity-framework,database-connection,C#,Database,Entity Framework,Database Connection,嗨,我已经编写了相当多的C#,但从未使用过数据库。我想将SQL Server与C#结合使用,并提供一些框架。在C#的生命周期中,微软似乎已经发布了许多框架。这使我很难搜索/选择 我应该选择哪一个?我正在开发一个简单的三层webapp。我看过一些Entity Framework.Net 4.0视频,但我觉得事情太自动化了。我需要时不时地做一些SQL 如果我选择EF4.0,这真的是最好的参考吗 有什么建议吗?使用实体框架4——它是当前和未来SQL Server数据库的最佳方法。它是WCF数据服务的基

嗨,我已经编写了相当多的C#,但从未使用过数据库。我想将SQL Server与C#结合使用,并提供一些框架。在C#的生命周期中,微软似乎已经发布了许多框架。这使我很难搜索/选择

我应该选择哪一个?我正在开发一个简单的三层webapp。我看过一些Entity Framework.Net 4.0视频,但我觉得事情太自动化了。我需要时不时地做一些SQL

如果我选择EF4.0,这真的是最好的参考吗


有什么建议吗?

使用实体框架4——它是当前和未来SQL Server数据库的最佳方法。它是WCF数据服务的基础,概念模型的想法肯定会出现在其他Microsoft产品中(可能包括Reporting Services和其他产品)

它确实为您提供了很多钩子,允许您执行“动态”SQL语句,并且您还可以将存储过程很好地集成到实体框架中

对于“普通”的日常任务,它会根据您的数据库为您提供很好的C#对象

在我看来,这是你目前最好的选择,也是最具灵活性和选择的选择。您可以从数据库(“数据库优先”)开始,从现有表创建类;或者,您可以从一个模型开始,让EF4为您生成数据库,EF v4.1(即将推出)也将提供“代码优先”开发,您甚至不需要可视化模型,但可以用C代码描述所有数据库对象和设置

更新:

  • -由EF女神朱莉·勒曼(Julie Lerman)以相同的名字随书而来的网站:-)
  • 有很多好东西
  • -EF4模型优先方法的良好介绍;Vince在这里有多篇文章-点击他的名字可以获得他所有文章的列表(许多与EF4相关的新文章)
  • (这是针对v1的,但仍然很好)

我想从罗布·科纳利的亚音速开始。。 它很容易开始..特别简单的存储库

网站链接:

使用Sub-Sonic的简单存储库:

更新: 我已经看到一个答案提到NHibernate,并希望添加一个小的除了相同的。。。既然OP menti说你有很好的C#经验,我想你有很好的OOPS知识以及对象之间的关系

我个人觉得用流利的NHibernate开始使用NHibernate非常容易,因此我也建议


C#+NHibernate+Fluent NHibernate….

C#+ActiveRecord+NHibernate。将实现隐藏在几个WCF服务后面。

您说过要尝试一些“框架”,所以实体框架就是那个。这是微软经过多年研究得出的最佳实践的结果。当然,在此过程中,您可以随时使用SQL(数据集)和EF(主要用于性能调整)。

查看有关.Net各种ORM框架上的性能/基准的一些信息。

耶,看起来不错。。。但当示例/视频显示简单的插入/删除/获取时,我总是会产生怀疑。连接和where子句发生了什么?甚至可能是一个嵌套的选择?该网站上的视频是一个很好的开始,我认为有很多在线资源,可以帮助一个前进与更多的加入等。。。看起来像是一个伟大的免费pdf书籍上可能重复的