C#数据库访问的建议

时间:2011-03-12 17:22:34

标签: c# database entity-framework database-connection

您好我编写了一些C#,但从未使用过数据库。我想在一些框架中使用带有C#的SQL Server。微软似乎在C#的整个生命周期中都提供了许多框架。这使我很难搜索/选择。

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

如果我应该选择EF4.0,这真的是最好的参考http://msdn.microsoft.com/en-us/library/bb386876.aspx

有什么建议吗?

5 个答案:

答案 0 :(得分:6)

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

它确实为您提供了许多钩子,允许您执行“即时”SQL语句,并且您还可以非常好地将存储过程集成到Entity Framework中。

对于“磨坊”日常任务,它可以为您提供基于数据库的优秀C#对象。

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

<强>更新

答案 1 :(得分:2)

我会说开始与Rob Conery的Sub Sonic .. 它很容易从......特别简单的存储库开始..

网站链接:http://www.subsonicproject.com/

使用Sub Sonic的简单存储库: http://subsonicproject.com/docs/Simple_Repo_5_Minute_Demo

更新: 我已经看到一个答案提到NHibernate,并希望在同一个地方添加一个小的补充...并且因为OP指出你有很好的C#经验我假设你有很好的OOPS知识以及对象之间的关系

我个人觉得NHibernate与Fluent NHibernate一起使用时很容易入手,因此我也建议

C#+ NHibernate + Fluent Nhibernate ....

答案 2 :(得分:2)

C#+的ActiveRecord + NHibernate的。隐藏几个WCF服务背后的实现。

答案 3 :(得分:2)

你说你想尝试一些'框架',所以Entity Framework就是那个。这是MS经过多年研究后提出的最佳实践的结果。当然,在此过程中,您可以随时随地使用SQL(数据集)(主要用于性能调整)。

答案 4 :(得分:1)

请查看here,了解有关.Net的各种ORM框架的性能/基准的一些信息。