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

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

На нашем литературном портале можно бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю, Троелсен Эндрю . Жанр: Базы данных. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале litmir.org.
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Название: Язык программирования C#9 и платформа .NET5
Дата добавления: 22 август 2024
Количество просмотров: 227
Читать онлайн

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту readbookfedya@gmail.com для удаления материала

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

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

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле.

Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных.

Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

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

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

Перейти на страницу:
Комментариев (0)