轻量级ADO.NET助手类

时间:2010-09-23 18:32:48

标签: ado.net daab sqlhelper

有人能指出我的当前库,它提供了ADO.NET功能的基本包装吗?我正在寻找旧的SqlHelper类的东西,并且对使用数据访问应用程序块并不感兴趣(因为它对我的简单需求有点过分)。现在大家用什么来直接使用ADO.NET?

更新

我应该注意到我已经在使用ORM(Nhibernate);我刚刚遇到需要原始ADO.NET调用的情况 - 所以不需要建议使用ORM而不是使用ADO.NET

4 个答案:

答案 0 :(得分:2)

丹,这是我几年来建立的一个班级。我可以扩展地使用ADO.NET。它支持Fill,NonQuery,Scalar等简单的东西,但也支持模式,事务,批量插入等。

DataAdapter (VisualStudio 2010解决方案)

如果您需要更多帮助,请告诉我(注意:我删除了一些指向其他对象的链接,以便为您发布,所以如果它已经坏了,请告诉我。)

答案 1 :(得分:1)

我为此结束了Fluent Ado.net ;这个简单的带外ado.net内容很棒,可以随时弹出。

答案 2 :(得分:1)

我在这里编写了自己的小助手库(一个.cs文件): https://github.com/jhgbrt/yadal/blob/master/Net.Code.ADONet.SingleFile/Db.cs

您可以在此处找到未加入的版本,测试和自述文件: https://github.com/jhgbrt/yadal

答案 3 :(得分:0)

希望它有用:

public static class DbHelper {

        public static IDbCommand CreateCommand(this IDbConnection conn, string sql, params object[] args) {
            if (!(conn is SqlConnection))
                throw new NotSupportedException();
            var command = (SqlCommand)conn.CreateCommand();
            try { 
                var paramterNames = new List<string>(args.Length);
                for (int i = 0; i < args.Length; i++) {
                    string name = "@p" + i;
                    command.Parameters.AddWithValue(name, args[i]);
                    paramterNames.Add(name);
                }
                command.CommandText = string.Format(sql, paramterNames.ToArray());
            }
            catch (Exception) {
                if (command != null)
                    command.Dispose();
                throw;
            }
            return command;
        }
}