Size: a a a

2021 March 11

L

Liza in .NET Talks 🎄
Пушо женерик круды не особо много кому нужны, всем нужна бизнес логика конкретная
источник

АО

Антон Осадчий... in .NET Talks 🎄
мне либо из-за недостатка знаний, либо из-за того что ef core 3.1 был не очень, не очень понравилось как на моем кейсе работал EF.
источник

L

Liza in .NET Talks 🎄
Вот юзеров кверить вот так, а заказы кверить по другому, а корзину по третьему
источник

L

Liza in .NET Talks 🎄
Если на проекте прям завались крудов и все фронт решает, то мб и стоит
источник

L

Liza in .NET Talks 🎄
Сэкономишь время так
источник

β🎀

βλαδιμιρ 🎀 🌎🔫... in .NET Talks 🎄
Антон Осадчий
А кто может провести ликбез и\или дать что-то почитать? Вот есть паттерн — репозиторий. В моем представлении, реализация следующая:
Есть интерфейс IRepository<T>, который содержит все стандартные методы работы с сущностью - добавление, выборка, удаление, изменение.
Где в таком случае реализуется какая-то более сложная логика, типа — выбрать пару конкретных полей, собрать какой-то сложный объект, наложить какие-то условия и т.п.

Банально — нужно выбирать либо все объекты, либо только не удаленные (IsDeleted = false). Или это должна быть какая-то обертка над репозиторием, типа есть IRepository<Company> и есть ICompanyService?  Или, если эта более сложная логика нужна, репозиторий не подходит в целом и все сразу надо делать на не-дженерик-сервисах, в интерфейсах которых сразу будут располагаться необходимый набор конкретных методов?
Есть много разных подходов
источник

β🎀

βλαδιμιρ 🎀 🌎🔫... in .NET Talks 🎄
Зависит от общей архитектуры, репо решают разные задачи, но я бы делал дженерик репозитории только если у тебя самый традиционный ддд
источник

β🎀

βλαδιμιρ 🎀 🌎🔫... in .NET Talks 🎄
Тогда репозиторием ты загружаешь и сохраняешь агрегат
источник

β🎀

βλαδιμιρ 🎀 🌎🔫... in .NET Talks 🎄
Без какой-либо бизнес логики
источник

L

Liza in .NET Talks 🎄
βλαδιμιρ 🎀 🌎🔫
Без какой-либо бизнес логики
Я бы на такое посмотрела кста
источник

L

Liza in .NET Talks 🎄
На такой проект
источник

АО

Антон Осадчий... in .NET Talks 🎄
Антон Осадчий
мне либо из-за недостатка знаний, либо из-за того что ef core 3.1 был не очень, не очень понравилось как на моем кейсе работал EF.
Типа, был кейс:
1. Таблица номенклатуры. Есть поле артикул, уникальность которого гарантировать не могу
2. Таблица остатков. Остатки в разерезе ID номенклатуры
3. Приходит запрос на получение остатков по нескольким сотням артикулов
4. Чтобы не вернуть 2 остатка на один и тот же артикул, я должен сгруппировать артикулы и взять первый ID, чтобы взять его остаток
5. EF шлет меня нахер, потому что группировать он не может (или не мог, сейчас не знаю)
6. Приходилось материализовать довольно рано коллекцию
источник

L

Liza in .NET Talks 🎄
А то все обычно задумывается как ддд а потом надо кастомщину вхреначивать
источник

AS

Andrew Shurunov in .NET Talks 🎄
Можно подумать, как сделать без наследования, чтобы бизнес логика писалась в другом классе
источник

АО

Антон Осадчий... in .NET Talks 🎄
потому решил попробовать даппер
источник

L

Liza in .NET Talks 🎄
Антон Осадчий
Типа, был кейс:
1. Таблица номенклатуры. Есть поле артикул, уникальность которого гарантировать не могу
2. Таблица остатков. Остатки в разерезе ID номенклатуры
3. Приходит запрос на получение остатков по нескольким сотням артикулов
4. Чтобы не вернуть 2 остатка на один и тот же артикул, я должен сгруппировать артикулы и взять первый ID, чтобы взять его остаток
5. EF шлет меня нахер, потому что группировать он не может (или не мог, сейчас не знаю)
6. Приходилось материализовать довольно рано коллекцию
В смысле не может групировать? Я канешн хейчу еф но оч сомневаюсь
источник

L

Liza in .NET Talks 🎄
Антон Осадчий
потому решил попробовать даппер
Даппер не нужен
источник

L

Liza in .NET Talks 🎄
Есть линк2дб
источник

L

Liza in .NET Talks 🎄
Решает то же самое что и даппер плюс есть линк
источник

L

Liza in .NET Talks 🎄
Даппер нужен ток если в линк2дб бага
источник