Измените интерфейс на public
IRepo, как показано ниже:namespace AutoLot.Dal.Repos.Interfaces
{
public interface ICarRepo : IRepo
{
IEnumerable
string GetPetName(int id);
}
}
Интерфейс хранилища данных о кредитных рисках
Откройте файл ICreditRiskRepo.cs
ICreditRiskRep не добавляет никакой функциональности сверх той, что предоставляется в BaseRepo. Обновите код следующим образом:using AutoLot.Models.Entities;
using AutoLot.Dal.Repos.Base;
namespace AutoLot.Dal.Repos.Interfaces
{
public interface ICreditRiskRepo : IRepo
{
}
}
Интерфейс хранилища данных о заказчиках
Откройте файл ICustomerRepo.cs
ICustomerRepo не добавляет никакой функциональности сверх той, что предоставляется в BaseRepo. Приведите код к такому виду:using AutoLot.Models.Entities;
using AutoLot.Dal.Repos.Base;
namespace AutoLot.Dal.Repos.Interfaces
{
public interface ICustomerRepo : IRepo
{
}
}
Интерфейс хранилища данных о производителях
Откройте файл IMakeRepo.cs
IMakeRepo не добавляет никакой функциональности сверх той, что предоставляется в BaseRepo. Обновите код, как показано ниже:using AutoLot.Models.Entities;
using AutoLot.Dal.Repos.Base;
namespace AutoLot.Dal.Repos.Interfaces
{
public interface IMakeRepo : IRepo
{
}
}
Интерфейс хранилища данных о заказах
Откройте файл IOrderRepo.cs
using:using System.Collections.Generic;
using System.Linq;
using AutoLot.Models.Entities;
using AutoLot.Dal.Repos.Base;
using AutoLot.Models.ViewModels;
Измените интерфейс на public
IRepo:namespace AutoLot.Dal.Repos.Interfaces
{
public interface IOrderRepo : IRepo
{
IQueryable
}
}
Интерфейс на этом завершен, т.к. все необходимые конечные точки API раскрыты в базовом классе.
Реализация классов хранилищ, специфичных для сущностей
Большую часть своей функциональности реализуемые классы хранилищ получают от базового класса. Далее будут описаны функциональные средства, которые добавляются или переопределяют возможности, предлагаемые базовым классом хранилища. Создайте в каталоге Repos
AutoLot.Dal пять новых файлов классов хранилищ:CarRepo.cs
CreditRiskRepo.cs
CustomerRepo.cs
MakeRepo.cs
OrderRepo.cs
Классы хранилищ будут реализованы в последующих разделах.
Хранилище данных об автомобилях
Откройте файл класса CarRepo.cs
using:using System.Collections.Generic;
using System.Data;
using System.Linq;
using AutoLot.Dal.EfStructures;
using AutoLot.Models.Entities;
using AutoLot.Dal.Repos.Base;
using AutoLot.Dal.Repos.Interfaces;
using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore;
Измените класс на public
BaseRepo и реализуйте ICarRepo:namespace AutoLot.Dal.Repos
{
public
{
}
}
Каждый класс хранилища должен реализовывать два конструктора из BaseRepo
public CarRepo(ApplicationDbContext context) : base(context)
{
}
internal CarRepo(DbContextOptions
:
base(options){
}
Добавьте переопределенные версии методов GetAll
GetAllIgnoreQueryFilters для включения свойства MakeNavigation и упорядочения по значению PetName:public override IEnumerable
=> Table
Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT