Допустим, у меня есть таблицы: склады и продукты
класс продукта имеет WarehouseId и имя:
class Product
{
public int WarehouseId{get;set;}
public string Name{get;set;}
}
таблица Warehouse имеет его идентификатор и количество продуктов
я не хочу менять структуру, если таблица складируется, и я хочу, чтобы всегда было фактическое количество товаров на складе
каков наилучший подход для обновления подсчета продуктов склада при каждом добавлении / удалении объекта товара
У меня есть 2 службы:
warehouse-service allows me to CRUD on warehouses, albo allows me to get products from warheouse
product-service allows me to CRUD on products
обе службы взаимодействуют с их дао
warehouse-service makes CRUD operation by warehouse-DAO (and dao use entityframeowrk to communicate with db)
product-service makes CRUD operation by products-DAO (and dao use entityframeowrk to communicate with db)
Самый простой способ - это обновить количество продуктов в таблице хранилища на уровне обслуживания - каждый продукт добавляет и удаляет, обновляет также количество складов (и пока это работает), но это немного уродливо, потому что, возможно, в будущем будет больше X методов или даже X дополнительных служб, которые будут управлять продуктами
другой вариант - обслуживать его на продуктах DAO (после добавления / удаления продукта на БД) - но DAO продукта ничего не знает о складе dao * 10 20 *
как лучше решить эту проблему?