Язык программирования C#9 и платформа .NET5
Часть 389 из 642 Информация о книге
// Для localdb используйте @"Driver={ODBC Driver 17 for SQL Server};Server=(localdb)\mssqllocaldb;Database=AutoLot;Trusted_Connection=Yes";"ConnectionString": "Driver={ODBC Driver 17 for SQL Server};Server=localhost,5433;Database=AutoLot;UId=sa;Pwd=P@ssw0rd;"},"OleDb": {// Для localdb используйте @"Provider=SQLNCLI11;// Data Source=(localdb)\mssqllocaldb;InitialCatalog=AutoLot;Integrated Security=SSPI"),"ConnectionString": "Provider=SQLNCLI11;Data Source=.,5433;User Id=sa;Password=P@ssw0rd;Initial Catalog=AutoLot;"}}Сообщите MSBuild о необходимости копировать файл JSON в выходной каталог при каждой компиляции. Модифицируйте файл проекта, как показано ниже:
<ItemGroup><None Update="appsettings.json"><b> <CopyToOutputDirectory>Always</CopyToOutputDirectory></b></None></ItemGroup>На заметку! Элемент
чувствителен к наличию пробельных символов. Убедитесь, что пробелы вокруг словаCopyToOutputDirectoryотсутствуют.AlwaysТеперь, располагая подходящим файлом
, вы можете читать значенияappsettings.jsonиproviderс использованием конфигурации .NET Core. Начните с обновления операторовconnectionstringв верхней части файлаusing:Program.csusing System;using System.Data.Common;using System.Data.Odbc;#if PCusing System.Data.OleDb;#endifusing System.IO;using Microsoft.Data.SqlClient;using Microsoft.Extensions.Configuration;Очистите весь код в
и добавьте взамен следующий код:Program.csusing System;using System.Data.Common;using System.Data.Odbc;#if PCusing System.Data.OleDb;#endifusing System.IO;using Microsoft.Data.SqlClient;using Microsoft.Extensions.Configuration;using DataProviderFactory;Console.WriteLine("***** Fun with Data Provider Factories *****\n");var (provider, connectionString) = GetProviderFromConfiguration();DbProviderFactory factory = GetDbProviderFactory(provider);// Теперь получить объект подключения.using (DbConnection connection = factory.CreateConnection()){if (connection == null){Console.WriteLine($"Unable to create the connection object");// He удалось создать объект подключенияreturn;}Console.WriteLine($"Your connection object is a: {connection.GetType().Name}");connection.ConnectionString = connectionString;connection.Open();// Создать объект команды.DbCommand command = factory.CreateCommand();if (command == null){Console.WriteLine($"Unable to create the command object");// He удалось создать объект командыreturn;}Console.WriteLine($"Your command object is a: {command.GetType().Name}");command.Connection = connection;command.CommandText ="Select i.Id, m.Name From Inventory i inner join Makes m on m.Id =i.MakeId ";// Вывести данные с помощью объекта чтения данных.using (DbDataReader dataReader = command.ExecuteReader()){Console.WriteLine($"Your data reader object is a:{dataReader.GetType().Name}");Console.WriteLine("\n***** Current Inventory *****");while (dataReader.Read()){Console.WriteLine($"-> Car #{dataReader["Id"]} is a{dataReader["Name"]}.");}