Так что название немного расплывчато, но вопрос на самом деле таков: на практике лучше всего создать класс доступа к данным, в данном случае доступ к SQL Server.
Где все статические методы класса нуждаются в строке подключения и операторе SQL?
Что-то в этом роде:
public static void ExecuteSql(string connStr, string strSqlStatement)
{
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlCommand cmd = new SqlCommand(strSqlStatement, conn);
cmd.ExecuteNonQuery();
conn.Close();
conn.Dispose();
}
А затем метод, который делает что-то подобное, но возвращает запрошенные вами данные.
Или на практике лучше создать объект для конкретного приложения, которое вы создаете, и кодировать эти элементы как расширения объектов. Таким образом, SQL для запуска или хранимая процедура для выполнения будут заключены в этот класс.
obj.GetSomethingViaQueryThatIsWrittenInTheClassLibrary()
Поэтому я предполагаю, что первый больше похож на сервисную библиотеку для доступа и записи данных в базу данных SQL Server. Что обычно делают в такой ситуации?
Или вы могли бы даже использовать сервисную библиотеку в тандеме с библиотекой объектов?
Существует множество не противоречащих друг другу, но разных мнений о доступе к данным, и я действительно пытаюсь понять, что является более распространенной практикой.