ASP.NET应用程序 - 免费和最佳DAL框架

时间:2009-10-31 13:30:51

标签: asp.net frameworks data-access-layer

我们正在使用SQL Server 2008作为后端的ASP.NET应用程序,我们不使用LINQ。

在应用程序中,将使用/通过存储过程执行所有数据库调用。所以,任何人都可以建议任何可以完成这些工作的免费和最佳数据访问框架。

非常感谢,

问候。

Bhavna。

5 个答案:

答案 0 :(得分:2)

我建议你去NHibernate。

如果您因为映射而感到非常害羞,可以使用Fluent NHibernate,这将允许您在强类型代码中执行所有映射(和配置)。

答案 1 :(得分:1)

这些存储过程是否是手写的?如果是这样,DAL的工作只是创建ADO.NET命令并将结果集绑定到数据传输对象和集合。对于严格存储过程驱动的数据库,从最佳到最差DAL的质量差异不会太大。我建议使用您自己的手写模板进行代码生成,您将更好地理解结果并且不是很难。 T4模板现在很热门。

现在,如果您要放松并让DAL访问基表,那么您可以选择一个对象关系映射器的世界,例如NHiberate和Entity Framework,它们的质量和方法都非常不同。

如果您使用ORM进行存储过程,就像购买航空母舰在周末去休闲钓鱼一样。 ORM部分会使事情变得复杂,使用ORM框架也不会带来任何好处。

答案 2 :(得分:1)

我喜欢ActiveRecord模式并经常使用SubSonic,一种开源DAL。我只涉及最新版本3.0,但在我创建的项目中一直使用2.2。

Download SubSonic

答案 3 :(得分:0)

着名的答案取决于您的需求和团队的知识:)

  • 如果你有一个现有的数据库,我会说只使用linq或实体框架,因为你可以通过拖放轻松生成映射!

  • 如果您没有数据库,Nhibernate将是一个很好的选择,因为您可以在从映射文件开发应用程序时生成数据库

答案 4 :(得分:0)

我发现在存储过程中使用xml参数允许使用单个方法来调用所有过程。我们所有的proc都有一个xml参数,并且总是返回xml。这极大地简化了DAL中所需的代码。