Чистая архитектура и EF Core: как избежать избыточных преобразований при обновлении сущностей?C#

Место общения программистов C#
Anonymous
Чистая архитектура и EF Core: как избежать избыточных преобразований при обновлении сущностей?

Сообщение Anonymous »

В своем приложении я использую «Чистую архитектуру» и EF Core. В моем сценарии сущности домена и сущности EF Core разделены.
Проблема
Когда мне нужно обновить один поле сущности, мне нужно выполнить множество преобразований:
  • получить сущность домена
  • преобразовать ее в EF Основная сущность
  • Обновить поле сущности EF Core
  • Сохранить изменения в базе данных
Это создает избыточность, особенно если у сущности много полей, а я обновляю только одно из них.
Пример

Код: Выделить всё

// Domain entity
public class Product
{
// ...
}

// EF Core entity
public class ProductEntity
{
// ...
}

// Repository
public class ProductRepository : IProductRepository
{
// ...

public async Task UpdateAsync(Product product)
{
ProductEntity productEntity = new ProductEntity(// ...); // Transformation
_dbContext.Entry(productEntity).State = EntityState.Modified;
await _dbContext.SaveChangesAsync();
}
}
В руководствах для начинающих люди игнорируют эту проблему. Неужели все действительно готовы принять такие накладные расходы ради абстракции?


Подробнее здесь: https://stackoverflow.com/questions/791 ... -when-upda

Вернуться в «C#»