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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 445 446 447 448 449 450 451 452 453 ... 642

        .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;

}

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

Хранилище данных о кредитных рисках

Откройте файл класса 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)

    {

    }

  }

}

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

Хранилище данных о заказчиках

Откройте файл класса 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)

    {

    }

  }

}

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

Наконец, добавьте метод, который возвращает все записи 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 и добавьте два обязательных конструктора:

1 ... 445 446 447 448 449 450 451 452 453 ... 642
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Похожие на Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю книги

Оставить комментарий