books-read.com
books-read.com » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Наш ресурс дает возможность бесплатно читать книгу онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных . Сайт books-read.com дает возможность читать полную версию книги без регистрации и sms. Все книги онлайн, не надо качать fb2, epub, txt.
Добавить книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю в приложение ЧИТАТЬ КНИГУ ОФЛАЙН в приложении ios/android
Перейти на страницу:

using AutoLot.Models.Entities;

using AutoLot.Dal.Repos.Base;

namespace AutoLot.Dal.Repos.Interfaces

{

  public interface IMakeRepo : IRepo<Make>

  {

  }

}

Интерфейс хранилища данных о заказах

Откройте файл

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<Order>
:

namespace AutoLot.Dal.Repos.Interfaces

{

  public interface IOrderRepo : IRepo<Order>

  {

    IQueryable<CustomerOrderViewModel> GetOrdersViewModel();

  }

}

Интерфейс на этом завершен, т.к. все необходимые конечные точки 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<Car>
и реализуйте
ICarRepo
:

namespace AutoLot.Dal.Repos

{

  <b>public</b> class CarRepo : <b>BaseRepo&lt;Car&gt;, ICarRepo</b>

  {

  }

}

Каждый класс хранилища должен реализовывать два конструктора из

BaseRepo
:

public CarRepo(ApplicationDbContext context) : base(context)

{

}

internal CarRepo(DbContextOptions&lt;ApplicationDbContext&gt; options)

  :
 base(options)

{

}

Добавьте переопределенные версии методов

GetAll()
и
GetAllIgnoreQueryFilters()
для включения свойства
MakeNavigation
и упорядочения по значению
PetName
:

public override IEnumerable&lt;Car&gt; GetAll()

  =&gt; Table

            .Include(c =&gt; c.MakeNavigation)

            .OrderBy(o =&gt; o.PetName);

public override IEnumerable&lt;Car&gt; GetAllIgnoreQueryFilters()

  =&gt; Table

            .Include(c =&gt; c.MakeNavigation)

            .OrderBy(o =&gt; o.PetName)

            .IgnoreQueryFilters();

Реализуйте метод

GetAllBy()
. Перед выполнением он обязан установить фильтр для контекста. Включите навигационное свойство 
Make
и отсортируйте по значению
PetName
:

public IEnumerable&lt;Car&gt; GetAllBy(int makeId)

{

  return Table

    .Where(x =&gt; x.MakeId == makeId)

    .Include(c =&gt; c.MakeNavigation)

    .OrderBy(c =&gt; c.PetName);

}

Добавьте переопределенную версию

Find()
, в которой включается свойство
MakeNavigation
, а фильтры запросов игнорируются:

public override Car? Find(int? id)

  =&gt; Table

Перейти на страницу:

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - на сайте онлайн книг books-read.com Вы можете читать полные версии книг автора в одном месте.


Язык программирования C#9 и платформа .NET5 отзывы

Отзывы читателей о книге Язык программирования C#9 и платформа .NET5, автор: Троелсен Эндрю. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор books-read.com


Прокомментировать
Подтвердите что вы не робот:*