Pull to refresh
1
0
Send message

Для iPhone достаточно просто поставить приложение Яндекс, запустить его один раз и включить быструю команду Siri. Будет открываться по фразам для Siri: "Позови Алису", "Открой Алису", "Позови Яндекс", "Открой Яндекс". При этом голосовой помощник Алиса будет сразу активирован. Зачем делать столько сложных шагов?

Зачем каждый DbSet регистрировать DI? Вы внимательно посмотрели мой код? В фабрике сервиса получаем из DI нужный DbContext и берем у него нужный DbSet. Пока DbSet не используется в коде логики, нечего ему там делать. 90% кода написанного "на всякий случай" превращается в мусор. Я бы не стал смешивать логику работы с DTO и бизнес-логику CrUD. Тем более что в данном примере вообще об этом ни слова.

Масса вариантов. Если мы реализуем слой бизнес-логики в программе, то знаем, что у нас только один тип реализует DbSet. Тогдв generic-параметр для DbContext в процессе реализации известен. Меняется только DbSet, который всегда TEntity. Но даже если задачку усложнить и будем реализовывать промежуточный framework для своих проектов (DbContext в разных проектах свой). В данном классе бизнес-логики не нужен DbContext, ему нужен DbSet. Так передайте этот DbSet в фабрике класса. Измените конструктор. Вот такая фабрика у вас будет:

services.AddScoped<GenericRepository<Employees>>(sp => new GenericRepository<Employees>(sp.GetRequiredService<EmployeesDbContext>().Employees));

А зачем в классеGenericRepositoryпараметр TDbContext? Зачем в примере нужен интерфейс IRepository<TEntity>? Запутать свой код?

А какое отношение имеют многомерные базы данных к бесплатному уроку курса PostgreSQL для администраторов БД, который рекламируется в конце статьи?

Так Автор не раскрыл тему "Зачем становиться участником Open Source проекта". Без раскрытия этой темы все вышенаписанное - пустой набор букв...

В чем сложность определить ImmutableClass?

public class SimpleImmutableClass
{
public SimpleImmutableClass(
string firstName, string lastName, IEnumerable<string> items
)

{
FirstName = firstName;
LastName = lastName;
Items = items.ToList();
}

//Неявные приватные сеттеры
public string LastName { get; }
public string FirstName { get; }
public IReadOnlyList<string> Items { get; }
}

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Registered
Activity

Specialization

Fullstack Developer, Software Architect
C#
.NET Core
SQL
Git
High-loaded systems
Designing application architecture
Node.js
OLAP
ETL
DWH