谁能指出我当前提供 ADO.NET 功能基本包装的库?我正在寻找与旧 SqlHelper 类类似的东西,并且对使用数据访问应用程序块并不真正感兴趣(因为它对于我的简单需求来说有点矫枉过正)。这些天来,每个人都直接使用什么来直接使用 ADO.NET?
更新:
我应该注意到我已经在使用 ORM(Nhibernate);我刚刚遇到了需要原始 ADO.NET 调用的情况 - 因此无需建议使用 ORM 而不是使用 ADO.NET
丹,这是我几年来建立的一门课程。我广泛使用 ADO.NET。它支持像 Fill、NonQuery、Scalar 等简单的东西,但也支持模式、事务、批量插入等。
DataAdapter (VisualStudio 2010 解决方案)
如果您需要更多帮助,请告诉我(注意:我删除了一些指向其他对象的链接以便为您发布此内容,所以如果它坏了,请告诉我)。
我在这里编写了自己的小助手库(一个 .cs 文件): https ://github.com/jhgbrt/yadal/blob/master/Net.Code.ADONet.SingleFile/Db.cs
您可以在此处找到未加入的版本、测试和自述文件: https ://github.com/jhgbrt/yadal
为此,我最终选择了Fluent Ado.net;很棒的小库,用于执行不时弹出的简单的带外 ado.net 内容。
希望它有帮助:
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;
}
}