На этом создание базы данных AutoLot
Модель фабрики поставщиков данных ADO.NET
Модель фабрики поставщиков данных .NET Core позволяет строить единую кодовую базу, используя обобщенные типы доступа к данным. Чтобы разобраться в реализации фабрики поставщиков данных, вспомните из табл. 21.1, что все классы внутри поставщика данных являются производными от тех же самых базовых классов, определенных внутри пространства имен System.Data.Common
• 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
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
Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT