DAL, структура объекта - уведомить объект, добавленный в коллекцию - PullRequest
0 голосов
/ 01 мая 2020

Допустим, у меня есть таблицы: склады и продукты

класс продукта имеет 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 *

как лучше решить эту проблему?

...