170 похожих чатов

Как можно переиспользовать вычисления в Select?

20 ответов

28 просмотров

Что значит переиспользовать? Где именно?

ну в твоем случае ты взял значение вычисления в Rating можешь дальше использовать

Yura-Slobodenyuk Автор вопроса
Oleg Safonov
Что значит переиспользовать? Где именно?

Вынести вычисление рейтинга в метод/свойство

Чего? Где?

Yura-Slobodenyuk Автор вопроса
Oleg Safonov
Чего? Где?

Не то сказал, нужно знать кто лайкнул а кто дизлайкнул, поэтому сделал через отношения

Yura Slobodenyuk
Не то сказал, нужно знать кто лайкнул а кто дизлай...

Не понимаю. Тогда доставайте коллекции обе в модель, а не только количество и там внутри уже разбирайте

Yura-Slobodenyuk Автор вопроса
Oleg Safonov
Не понимаю. Тогда доставайте коллекции обе в модел...

Вопрос был в том как вынести вычисление в метод и заставить ef транслировать это А не грузить все отношения

Yura Slobodenyuk
Вопрос был в том как вынести вычисление в метод и ...

Какое вычисление конкретно? Если нужно знать кто поставил, то все равно список грузить проще и в памяти собрать, чем n запросов делать (на авторов, на количество и т.д.)

Yura-Slobodenyuk Автор вопроса
Oleg Safonov
Какое вычисление конкретно? Если нужно знать кто п...

Как какое? Оно там одно, вычисление рейтинга. Грузить не проще, это все можно сделать одним запросом

Yura Slobodenyuk
Как какое? Оно там одно, вычисление рейтинга. Груз...

Блин, а при чем тут кто лайкнул кто дизлайкнул? Сейчас решение чем не устраивает? Нужно только число? Сделайте в модели, которая в select (не дб модель) два отдельных свойства, количество лайков и количество дизлайков и геттер для рейтинга

Yura Slobodenyuk
Как какое? Оно там одно, вычисление рейтинга. Груз...

Понял, где непонимание возникло Изначально я предлагал свойства пихать не в модель бд, а в тут, которая формируется в select, короче

Yura-Slobodenyuk Автор вопроса
Oleg Safonov
Блин, а при чем тут кто лайкнул кто дизлайкнул? Се...

Сериализатор потом сможет сериализовать геттер для рейтинга?

Yura Slobodenyuk
Все, тогда понял, спасибо

Отпишите потом, получилось или нет

Yura-Slobodenyuk Автор вопроса
Oleg Safonov
Отпишите потом, получилось или нет

Как-то непонятно, вот два повторяющихся кода (вычисление рейтинга в Select), как тут дать общий класс/интерфейс? И это даже не вынести в отдельный расширяющий метод

Yura-Slobodenyuk Автор вопроса
Oleg Safonov
Отпишите потом, получилось или нет

Хоть бери и выбрасывай EF с проекта и бери даппер

Да оставьте так. Там ж сущности разные, в первом свойство body есть, например. Ничего страшного нет. Или сделайте одну сущность и сделайте метод расширения, который вместо select будет, типа SelectMyDto который внутри принимает iqyeruable и возвращает обратно, накинув select

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта