dotnet sln .\Chapter21_AllProjects.sln add .\AutoLot.Client
dotnet add AutoLot.Client package Microsoft.Data.SqlClient
dotnet add AutoLot.Client reference AutoLot.Dal
В случае использования Visual Studio щелкните правой кнопкой мыши на имени решения и выберите в контекстном меню пункт Add
?New Project (Добавить?Новый проект). Установите новый проект в качестве стартового (щелкнув правой кнопкой мыши на имени проекта в окне Solution Explorer и выбрав в контекстном меню пункт Set as Startup Project (Установить как стартовый проект)). Это обеспечит запуск нового проекта при инициировании отладки в Visual Studio. Если вы применяете Visual Studio Code, тогда перейдите в каталогAutoLot.Test и запустите проект (когда наступит время) с использованием dotnet run.Очистите код, сгенерированный в Program.cs
Program.cs следующие операторы using:using System;
using System.Linq;
using AutoLot.Dal;
using AutoLot.Dal.Models;
using AutoLot.Dal.DataOperations;
using System.Collections.Generic;
Чтобы задействовать AutoLot.Dal
Main показанным далее кодом:InventoryDal dal = new InventoryDal;
List
Console.WriteLine(" ************** All Cars ************** ");
Console.WriteLine("Id\tMake\tColor\tPet Name");
foreach (var itm in list)
{
Console.WriteLine($"{itm.Id}\t{itm.Make}\t{itm.Color}\t{itm.PetName}");
}
Console.WriteLine;
CarViewModel car =
dal.GetCar(list.OrderBy(x=>x.Color).Select(x => x.Id).First);
Console.WriteLine(" ************** First Car By Color ************** ");
Console.WriteLine("CarId\tMake\tColor\tPet Name");
Console.WriteLine($"{car.Id}\t{car.Make}\t{car.Color}\t{car.PetName}");
try
{
// Это потерпит неудачу из-за наличия связанных данных в таблице Orders.
dal.DeleteCar(5);
Console.WriteLine("Car deleted."); // Запись об автомобиле удалена.
}
catch (Exception ex)
{
Console.WriteLine($"An exception occurred: {ex.Message}");
// Сгенерировано исключение
}
dal.InsertAuto(new Car { Color = "Blue", MakeId = 5, PetName = "TowMonster" });
list = dal.GetAllInventory;
var newCar = list.First(x => x.PetName == "TowMonster");
Console.WriteLine(" ************** New Car ************** ");
Console.WriteLine("CarId\tMake\tColor\tPet Name");
Console.WriteLine($"{newCar.Id}\t{newCar.Make}\t{newCar.Color}\t{newCar.PetName}");
dal.DeleteCar(newCar.Id);
var petName = dal.LookUpPetName(car.Id);
Console.WriteLine(" ************** New Car ************** ");
Console.WriteLine($"Car pet name: {petName}");
Console.Write("Press enter to continue...");
Console.ReadLine;
Понятие транзакций базы данных
Давайте завершим исследование ADO.NET рассмотрением концепции транзакций базы данных. Выражаясь просто,
Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT