Легкий класс помощника ADO.NET - PullRequest
       45

Легкий класс помощника ADO.NET

2 голосов
/ 23 сентября 2010

Может кто-нибудь указать мне на текущую библиотеку, которая обеспечивает базовую оболочку функциональности ADO.NET? Я ищу что-то в духе старого класса SqlHelper и не очень заинтересован в использовании блока приложения доступа к данным (так как это немного излишне для моих простых потребностей). Что каждый сейчас использует для работы с ADO.NET напрямую?

Обновление:

Должен заметить, что я уже работаю с ORM (Nhibernate); Я только что столкнулся с ситуацией, которая требует необработанных вызовов ADO.NET - поэтому нет необходимости предлагать использовать ORM вместо работы с ADO.NET

Ответы [ 4 ]

2 голосов
/ 23 сентября 2010

Дэн, это класс, который я создал за несколько лет. Я пользуюсь ADO.NET экстенсивно. Он поддерживает простые вещи, такие как Fill, NonQuery, Scalar, но также получает схему, транзакции, массовые вставки и многое другое.

DataAdapter (решение VisualStudio 2010)

Дайте мне знать, если вам понадобится дополнительная помощь с этим (примечание: я удалил некоторые ссылки на другие объекты, чтобы опубликовать это для вас, поэтому, если он не работает, просто дайте мне знать).

1 голос
/ 27 июля 2012

Я написал свою собственную маленькую вспомогательную библиотеку (один файл .cs) здесь: https://github.com/jhgbrt/yadal/blob/master/Net.Code.ADONet.SingleFile/Db.cs

Вы можете найти несвязанную версию, тесты и readme здесь: https://github.com/jhgbrt/yadal

1 голос
/ 16 октября 2010

В итоге я выбрал Свободный Ado.net для этого;отличная небольшая библиотека для выполнения простых внеполосных вещей ado.net, которые появляются время от времени.

0 голосов
/ 10 января 2016

Надеюсь, это полезно:

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;
        }
}
...