Size: a a a

var chat = new Chat();

2021 March 21

D

Dmitry in var chat = new Chat();
😂😂🙈😂
источник

А

Алекс in var chat = new Chat();
Serega Carbon
я не знаю, мне как-то комфортнее сложные запросы делать через raw sql )
Комфортно так и делай, но вообще несколько неправильно рассуждать о еф/линк если недостаточно знаешь их. Просто sql знают по сути все, а возможности еф и линк я уже много лет нахожу новые и радуюсь что "так тоже можно"  и как же это удобно :)
Главное поменьше бесполезных паттернов пихать, типа репозиториев, которые на ноль делят все возможности и удобства еф ))
источник

SC

Serega Carbon in var chat = new Chat();
Алекс
Комфортно так и делай, но вообще несколько неправильно рассуждать о еф/линк если недостаточно знаешь их. Просто sql знают по сути все, а возможности еф и линк я уже много лет нахожу новые и радуюсь что "так тоже можно"  и как же это удобно :)
Главное поменьше бесполезных паттернов пихать, типа репозиториев, которые на ноль делят все возможности и удобства еф ))
по-этому я и объеденил квери объекты и дженерик репо чтобы не плодить кучу безполезных репо
источник

А

Алекс in var chat = new Chat();
Ну холивар разводить лень, но есть мнение что любая универсальная обёртка вокруг контекста еф это зло. Контекст это и есть обёртка, он сам юнит оф ворк, сам репозиторий и прекрасный сервис для внедрения. Любые огороды вокруг режут функционал, раздувают код или жрут производительность +часто все сразу)
источник

SC

Serega Carbon in var chat = new Chat();
Алекс
Ну холивар разводить лень, но есть мнение что любая универсальная обёртка вокруг контекста еф это зло. Контекст это и есть обёртка, он сам юнит оф ворк, сам репозиторий и прекрасный сервис для внедрения. Любые огороды вокруг режут функционал, раздувают код или жрут производительность +часто все сразу)
просто если ты в контроллер будешь пихать это .FromSqlInterpolated("select json_agg(row_to_json(t)) as data,(select count(*) from  backend.broadcast where type_broad=1 ) as count from (  select * from backend.broadcast where type_broad=1) t") - как ты это сделаешь стандартным еф кор) и тем более не будешь же пихать логику запроса в контроллера
источник

А

Алекс in var chat = new Chat();
Не в контроллер конечно, в сервис свой )
источник

SC

Serega Carbon in var chat = new Chat();
Алекс
Не в контроллер конечно, в сервис свой )
ну QO и есть частью Сервис Лаера)
источник

SC

Serega Carbon in var chat = new Chat();
я считаю объединение базовых КРУД методов Репо и Квери Екзекъютора максимально удобным паттерном для обработки запросов, даже статъю на мидиуме хочется написать)
источник

SC

Serega Carbon in var chat = new Chat();
кто-то знает, как в EF Core нормально сконфигурировать связь один-к-одному БЕЗ использование дополнительного референсного поля и что бы не было Self referencing loop detected -а ?
источник

rr

razumovsky r in var chat = new Chat();
Serega Carbon
кто-то знает, как в EF Core нормально сконфигурировать связь один-к-одному БЕЗ использование дополнительного референсного поля и что бы не было Self referencing loop detected -а ?
Дженерики
источник

rr

razumovsky r in var chat = new Chat();
Можно указывать тип таблиц через дженерик параметр
источник

rr

razumovsky r in var chat = new Chat();
HasMany<T>()....
источник

SC

Serega Carbon in var chat = new Chat();
а стоп, это уже ошибка на уровне Newton-а )
источник

rr

razumovsky r in var chat = new Chat();
Serega Carbon
просто если ты в контроллер будешь пихать это .FromSqlInterpolated("select json_agg(row_to_json(t)) as data,(select count(*) from  backend.broadcast where type_broad=1 ) as count from (  select * from backend.broadcast where type_broad=1) t") - как ты это сделаешь стандартным еф кор) и тем более не будешь же пихать логику запроса в контроллера
RawSql?
источник

SC

Serega Carbon in var chat = new Chat();
нет, стандартный метод из EF
источник

А

Алекс in var chat = new Chat();
Serega Carbon
просто если ты в контроллер будешь пихать это .FromSqlInterpolated("select json_agg(row_to_json(t)) as data,(select count(*) from  backend.broadcast where type_broad=1 ) as count from (  select * from backend.broadcast where type_broad=1) t") - как ты это сделаешь стандартным еф кор) и тем более не будешь же пихать логику запроса в контроллера
я правда не понял почему вместо raw здесь не сделать просто тупо получение объекта?
источник

А

Алекс in var chat = new Chat();
просто select where toList() , потом сериализовать в жисон спокойно как всегда делается
источник

А

Алекс in var chat = new Chat();
а количество будет в data.Count, ну как бы число записей )
источник

SC

Serega Carbon in var chat = new Chat();
Алекс
а количество будет в data.Count, ну как бы число записей )
та эт понятно, просто первый попавшийся запрос типа большой под руки попался)
источник

ВК

Віктор Крохмаль... in var chat = new Chat();
Может кто-то стыкался - как можно провести профилирование тестов ?
источник