支持OleDb和存储过程的优秀.NET ORM框架?

时间:2008-09-22 23:40:15

标签: .net orm oledb

我们系统中的典型存储过程接受大约20个左右的参数。也没有机会重构这些存储过程。我基本上已经编写了自己的代码生成器,将这些SP包装到(数据库提供程序不可知)“Command”对象中,其公共属性对应于SP参数。它有效,但我更喜欢第三方经过试验和测试的解决方案。

有人可以推荐什么吗?我还没有找到支持OleDB和存储过程的文件。

编辑:我需要OleDb连接,因为SQL 6.5(信不信由你)。 ADO.NET无法连接到SQL 6.5。此外,这是一个.NET 2.0应用程序,所以LinqToSql对我没用。

Edit2:我已经尝试过nHibernate和iBatis。它们都不符合我的需要。我最后一次尝试nHibernate时,它要求SP返回一个结果集。我的SP不是这种情况。它们都需要我手动指定参数。

3 个答案:

答案 0 :(得分:5)

我有3个ORM层的经验:

这三个都是免费的,支持OleDb连接和存储过程。

Subsonic - 这是专门为Web应用程序构建的。它模仿了Ruby On Rails的很多功能。他们刚刚添加了迁移。亚音速是三者中最轻的。对于Winforms来说,使用起来有点困难,但并不像我想的那么难。它附带了一个很好的UI工具来生成代码和维护数据库设置。这是唯一支持不同数据库的人。我已经将它与SQLite,SQL Server CE和SQL Server一起使用。

CSLA.NET - 这个几乎可以处理所有新的和灵动的.NET技术。我知道作者刚刚添加了对WCF,WPF和Silverlight的支持。当我需要使用企业级应用程序进行非常繁重的工作时,这就是我所使用的。它具有很多很好的功能,例如无限制的对象撤销,将集合标记为只读的能力,以及在任何你想要的地方移动和锚定对象的能力。这是最接近JBoss在Java上做的事情。

净层 - 我不是一个大粉丝,但它会完成工作。它比CSLA轻,但仍然比亚音速更重。

我还要提到NHibernateCastle Active RecordMicrosoft Enterprise Library。我对这些没有多少经验。

答案 1 :(得分:0)

据我所知,ADO .NET Entitry框架对存储过程提供了支持...... LINQ2SQL你可以让它工作但可能需要一些代理类...... NHibernate和IBatis是你最好的选择......

答案 2 :(得分:-1)

备选方案:

  1. LINQ to SQL
  2. ADO.NET实体框架
  3. NHibernate的
  4. 您的选择)
相关问题