.Include(c => c.MakeNavigation)
.OrderBy(o => o.PetName);
public override IEnumerable
=> Table
.Include(c => c.MakeNavigation)
.OrderBy(o => o.PetName)
.IgnoreQueryFilters;
Реализуйте метод GetAllBy
Make и отсортируйте по значению PetName:public IEnumerable
{
return Table
.Where(x => x.MakeId == makeId)
.Include(c => c.MakeNavigation)
.OrderBy(c => c.PetName);
}
Добавьте переопределенную версию Find
MakeNavigation, а фильтры запросов игнорируются:public override Car? Find(int? id)
=> Table
.IgnoreQueryFilters
.Where(x => x.Id == id)
.Include(m => m.MakeNavigation)
.FirstOrDefault;
Добавьте метод, который позволяет получить значение PetName
public string GetPetName(int id)
{
var parameterId = new SqlParameter
{
ParameterName = "@carId",
SqlDbType = SqlDbType.Int,
Value = id,
};
var parameterName = new SqlParameter
{
ParameterName = "@petName",
SqlDbType = SqlDbType.NVarChar,
Size = 50,
Direction = ParameterDirection.Output
};
_ = Context.Database
.ExecuteSqlRaw("EXEC [dbo].[GetPetName] @carId, @petName OUTPUT",
parameterId,
parameterName); return (string)parameterName.Value;
}
Хранилище данных о кредитных рисках
Откройте файл класса CreditRiskRepo.cs
using:using AutoLot.Dal.EfStructures;
using AutoLot.Dal.Models.Entities;
using AutoLot.Dal.Repos.Base;
using AutoLot.Dal.Repos.Interfaces;
using Microsoft.EntityFrameworkCore;
Измените класс на public
BaseRepo, реализуйте ICreditRiskRepo и добавьте два обязательных конструктора:namespace AutoLot.Dal.Repos
{
public
{
public CreditRiskRepo(ApplicationDbContext context) : base(context)
{
}
internal CreditRiskRepo(
DbContextOptions
: base(options)
{
}
}
}
Хранилище данных о заказчиках
Откройте файл класса CustomerRepo.cs
using:using System.Collections.Generic;
using System.Linq;
using AutoLot.Dal.EfStructures;
using AutoLot.Dal.Models.Entities;
using AutoLot.Dal.Repos.Base;
using AutoLot.Dal.Repos.Interfaces;
using Microsoft.EntityFrameworkCore;
Измените класс на public
BaseRepo, реализуйте ICustomerRepo и добавьте два обязательных конструктора:namespace AutoLot.Dal.Repos
{
public
{
public CustomerRepo(ApplicationDbContext context)
: base(context)
{
}
internal CustomerRepo(
DbContextOptions
: base(options)
{
}
}
}
Наконец, добавьте метод, который возвращает все записи Customer
LastName:public override IEnumerable
=> Table
.Include(c => c.Orders)
.OrderBy(o => o.PersonalInformation.LastName);
Хранилище данных о производителях
Откройте файл класса MakeRepo.cs
using:Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT