Литмир - Электронная Библиотека
A
A

        .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<CreditRisk>
, реализуйте
ICreditRiskRepo
и добавьте два обязательных конструктора:

namespace AutoLot.Dal.Repos

{

  <b>public</b> class CreditRiskRepo : <b>BaseRepo&lt;CreditRisk&gt;, ICreditRiskRepo</b>

  {

    public CreditRiskRepo(ApplicationDbContext context) : base(context)

    {

    }

    internal CreditRiskRepo(

      DbContextOptions&lt;ApplicationDbContext&gt; options)

    : 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&lt;Customer&gt;
, реализуйте
ICustomerRepo
и добавьте два обязательных конструктора:

namespace AutoLot.Dal.Repos

{

  <b>public</b> class CustomerRepo : <b>BaseRepo&lt;Customer&gt;, ICustomerRepo</b>

  {

    public CustomerRepo(ApplicationDbContext context)

      : base(context)

    {

    }

    internal CustomerRepo(

      DbContextOptions&lt;ApplicationDbContext&gt; options)

      : base(options)

    {

    }

  }

}

Наконец, добавьте метод, который возвращает все записи

Customer
с их заказами, отсортированные по значениям
LastName
:

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

  =&gt; Table

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

      .OrderBy(o =&gt; o.PersonalInformation.LastName);

Хранилище данных о производителях

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

MakeRepo.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&lt;Make&gt;
, реализуйте
IMakeRepo
и добавьте два обязательных конструктора:

449
{"b":"847442","o":1}