您好我编写了一些C#,但从未使用过数据库。我想在一些框架中使用带有C#的SQL Server。微软似乎在C#的整个生命周期中都提供了许多框架。这使我很难搜索/选择。
我应该选择哪一个?我正在开发一个简单的3层webapp。我看过一些Entity Framework .Net 4.0视频,但我觉得事情太自动了。我现在需要做一些SQL ..
如果我应该选择EF4.0,这真的是最好的参考http://msdn.microsoft.com/en-us/library/bb386876.aspx
有什么建议吗?
答案 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框架的性能/基准的一些信息。