Re[2]: DDD: фильтр по временной таблице в Репозиториях
От: · Великобритания  
Дата: 11.06.24 10:59
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Например, на linq:

S>var tovarList = TovarRepository.GetList(filterCritery); // никакого обращения в базу ещё нет, просто построен запрос.
Как я понял, ему нужен и сам список товаров тоже.

S>var analogList = AnalogRepository.GetListByTovar(tovarList); // никакого обращения в базу ещё нет, просто построен запрос

S>/// запрос устроен так, что при его исполнении в базу поедет что-то вроде select * from tovar where SELECT * FROM analogs WHERE analog.tovar_id IN (select * from tovar where ...)
Ему ещё нужно списки аналогов и упаковок, именно согласованные с этим данным списком товаров, т.е. ещё и целостность надо будет как-то обеспечивать.

S>[tt]SELECT * FROM analogs WHERE analog.tovar_id IN (4, 8, 15, 16, 23, 42)

А как оно сработает, скажем, для 100к товаров? Какая будет у этого произовительность гонять туда-сюда?

Так что я голосую за GetTovarWithAnalogAndPack, который пусть сам обеспечивает согласованность и перформанс как может — через временные таблицы или ещё как.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Отредактировано 11.06.2024 11:00 · . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.