Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Троелсен Эндрю, "Язык программирования C#9 и платформа .NET5" бесплатно, без регистрации.
•
DbCommand•
DbConnection•
DbDataAdapter•
DbDataReader•
DbParameter•
DbTransactionКаждый поставщик данных, совместимый с .NET Core, содержит класс, производный от
System.Data.Common.DbProviderFactoryDbProviderFactorypublic 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();}Чтобы получить производный от
DbProviderFactoryDbProviderFactory// Получить фабрику для поставщика данных SQL.DbProviderFactory sqlFactory = Microsoft.Data.SqlClient.SqlClientFactory.Instance;Чтобы сделать программу более универсальной, вы можете создать фабрику
DbProviderFactoryDbProviderFactoryappsettings.jsonПолный пример фабрики поставщиков данных
В качестве завершенного примера создайте новый проект консольного приложения C# (по имени
DataProviderFactoryAutoLotDataProviderFactory.exeНачните с добавления нового элемента
ItemGroupMicrosoft.Extensions.Configuration.JsonSystem.Data.CommonSystem.Data.OdbcSystem.Data.OleDbMicrosoft.Data.SqlClientdotnet add DataProviderFactory package Microsoft.Data.SqlClientdotnet add DataProviderFactory package System.Data.Commondotnet add DataProviderFactory package System.Data.Odbcdotnet add DataProviderFactory package System.Data.OleDbdotnet add DataProviderFactory package Microsoft.Extensions.Configuration.JsonОпределите символ условной компиляции PC (в случае применения Windows):
<PropertyGroup> <DefineConstants>PC</DefineConstants></PropertyGroup>Далее добавьте новый файл по имени
DataProviderEnum.csnamespace 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": {