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
Перейти на страницу:

public virtual int Add(T entity, bool persist = true)

{

  Table.Add(entity);

  return persist ? SaveChanges() : 0;

}

public virtual int AddRange(IEnumerable<T> entities, bool persist = true)

{

  Table.AddRange(entities);

  return persist ? SaveChanges() : 0;

}

public virtual int Update(T entity, bool persist = true)

{

  Table.Update(entity);

  return persist ? SaveChanges() : 0;

}

public virtual int UpdateRange(IEnumerable<T> entities, bool persist = true)

{

  Table.UpdateRange(entities);

  return persist ? SaveChanges() : 0;

}

public virtual int Delete(T entity, bool persist = true)

{

  Table.Remove(entity);

  return persist ? SaveChanges() : 0;

}

public virtual int DeleteRange(IEnumerable<T> entities, bool persist = true)

{

  Table.RemoveRange(entities);

  return persist ? SaveChanges() : 0;

}

Есть еще один метод удаления, который не следует этому шаблону. Для выдачи операции удаления он использует

EntityState
, что часто происходит при работе с ASP.NET Core с целью сокращения сетевого трафика:

public int Delete(int id, byte[] timeStamp, bool persist = true)

{

  var entity = new T {Id = id, TimeStamp = timeStamp};

  Context.Entry(entity).State = EntityState.Deleted;

  return persist ? SaveChanges() : 0;

}

Итак, класс

BaseRepo
завершен, и можно приступать к построению хранилищ, специфичных для сущностей.

Интерфейсы хранилищ, специфичных для сущностей

Каждая сущность будет иметь строго типизированное хранилище, производное от

BaseRepo<T>
, и интерфейс, который реализует
IRepo<T>
. Создайте в каталоге
Repos
проекта
AutoLot.Dal
новый каталог по имени
Interfaces
и добавьте в него пять файлов интерфейсов:

ICarRepo.cs

ICreditRiskRepo.cs

ICustomerRepo.cs

IMakelRepo.cs

IOrderRepo.cs

Содержимое интерфейсов будет представлено в последующих разделах.

Интерфейс хранилища данных об автомобилях

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

ICarRepo.cs
и поместите в его начало такие операторы
using
:

using System.Collections.Generic;

using AutoLot.Models.Entities;

using AutoLot.Dal.Repos.Base;

Измените интерфейс на

public
и реализуйте
IRepo<Car>
, как показано ниже:

namespace AutoLot.Dal.Repos.Interfaces

{

  public interface ICarRepo : IRepo<Car>

  {

    IEnumerable<Car> GetAllBy(int makeId);

    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<CreditRisk>

  {

  }

}

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

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

ICustomerRepo.cs
. Интерфейс
ICustomerRepo
не добавляет никакой функциональности сверх той, что предоставляется в
BaseRepo
. Приведите код к такому виду:

using AutoLot.Models.Entities;

using AutoLot.Dal.Repos.Base;

namespace AutoLot.Dal.Repos.Interfaces

{

  public interface ICustomerRepo : IRepo<Customer>

  {

  }

}

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

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

IMakeRepo.cs
. Интерфейс
IMakeRepo
не добавляет никакой функциональности сверх той, что предоставляется в
BaseRepo
. Обновите код, как показано ниже:

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

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

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


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

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


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

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

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


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