onlinechitalka.com/
onlinechitalka.com » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Полная версия книги - "Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю"

На этом ресурсе Вы можете бесплатно читать книгу онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных . На сайте onlinechitalka.com Вы можете онлайн читать полную версию книги без регистрации и sms. Так же Вы можете ознакомится с содержанием, описанием, предисловием о произведении
Перейти на страницу:

DbCommand
— абстрактный базовый класс для всех классов команд;

DbConnection
— абстрактный базовый класс для всех классов подключений;

DbDataAdapter
— абстрактный базовый класс для всех классов адаптеров данных;

DbDataReader
— абстрактный базовый класс для всех классов чтения данных;

DbParameter
— абстрактный базовый класс для всех классов параметров;

DbTransaction
— абстрактный базовый класс для всех классов транзакций.

Каждый поставщик данных, совместимый с .NET Core, содержит класс, производный от

System.Data.Common.DbProviderFactory
. В этом базовом классе определено несколько методов, которые извлекают объекты данных, специфичные для поставщика. Вот члены класса
DbProviderFactory
:

public abstract class DbProviderFactory

{

  public virtual bool CanCreateDataAdapter { get;};

  public virtual bool CanCreateCommandBuilder { get;};

  public virtual DbCommand CreateCommand();

  public virtual DbCommandBuilder CreateCommandBuilder();

  public virtual DbConnection CreateConnection();

  public virtual DbConnectionStringBuilder CreateConnectionStringBuilder();

  public virtual DbDataAdapter CreateDataAdapter();

  public virtual DbParameter CreateParameter();

  public virtual DbDataSourceEnumerator CreateDataSourceEnumerator();

}

Чтобы получить производный от

DbProviderFactory
тип для вашего поставщика данных, каждый поставщик предоставляет статическое свойство, используемое для возвращения корректного типа. Для возвращения версии SQL Server поставщика
DbProviderFactory
применяйте следующий код:

// Получить фабрику для поставщика данных SQL.

DbProviderFactory sqlFactory =

    Microsoft.Data.SqlClient.SqlClientFactory.Instance;

Чтобы сделать программу более универсальной, вы можете создать фабрику

DbProviderFactory
, которая возвращает конкретную разновидность
DbProviderFactory
на основе настройки в файле
appsettings.json
для приложения. Вскоре вы узнаете, как это делать, а пока после получения фабрики для поставщика данных можно получить связанные с ним объекты данных (например, объекты подключений, команд и чтения данных).

Полный пример фабрики поставщиков данных

В качестве завершенного примера создайте новый проект консольного приложения C# (по имени

DataProviderFactory
), которое выводит инвентарный список автомобилей из базы данных
AutoLot
. В начальном примере логика доступа к данным будет жестко закодирована прямо в сборке
DataProviderFactory.exe
(чтобы излишне не усложнять код). По мере изучения материалов настоящей главы вы узнаете более эффективные способы решения задачи.

Начните с добавления нового элемента

ItemGroup
и пакетов
Microsoft.Extensions.Configuration.Json
,
System.Data.Common
,
System.Data.Odbc
,
System.Data.OleDb
и
Microsoft.Data.SqlClient
в файл проекта:

dotnet add DataProviderFactory package Microsoft.Data.SqlClient

dotnet add DataProviderFactory package System.Data.Common

dotnet add DataProviderFactory package System.Data.Odbc

dotnet add DataProviderFactory package System.Data.OleDb

dotnet add DataProviderFactory package Microsoft.Extensions.Configuration.Json

Определите символ условной компиляции PC (в случае применения Windows):

<PropertyGroup>

  <DefineConstants>PC</DefineConstants>

</PropertyGroup>

Далее добавьте новый файл по имени

DataProviderEnum.cs
и модифицируйте его код, как показано ниже:

namespace DataProviderFactory

{

  // OleDb поддерживается только в Windows, но не в .NET Core.

  enum DataProviderEnum

  {

    SqlServer,

 #if PC

    OleDb,

#endif

    Odbc

  }

}

Добавьте в проект новый файл JSON по имени

appsettings.json
и измените его содержимое следующим образом (обновите строки подключения в соответствии с имеющейся средой):

{

  "ProviderName": "SqlServer",

  //"ProviderName": "OleDb",

  //"ProviderName": "Odbc",

  "SqlServer": {

    // Для localdb используйте @"Data Source=(localdb)

    // mssqllocaldb;Integrated Security=true;

     Initial Catalog=AutoLot"

     "ConnectionString": "Data Source=.,5433;User Id=sa;Password=P@ssw0rd;Initial

       Catalog=AutoLot"

  },

  "Odbc": {

Перейти на страницу:

Отзывы читателей о книге Язык программирования C#9 и платформа .NET5, автор: Троелсен Эндрю. Читайте комментарии и мнения людей о произведении.


Прокомментировать
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту bookreadinfo@gmail.com
© 2020 - 2026 onlinechitalka.com