Ругаю MS
От: varenikAA  
Дата: 09.12.20 03:12
Оценка:
В asp.net core 3.1(LTS — задумайтесь!) завезли Json который падает на объектах EF из-за взаимных ссылок объектов.
Полбеды, причем обновление JSon до 5.0 ничего не дало. будь добр постав .net5(Когда они прекратят эту чехарду с названиями, по мне уж лучше бы давали кодовые имена типа — рыжий лис, хромая лошадь...).
А студия? в 2019 невозомжно кодить, стабильно встает колом при редактировании долбанных razor pages (cshtml). Второй день мучаюсь.
Вот уже полчаса висит. Все жду чуда. ХЗ че за фигня. ну упала бы или еще что. А А А А!
Уже подумываю как бы отделить мух от котлет, чтобы делать НОРМА(!)льные html в нормальном VS Code. Понапридумывают.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Ругаю MS
От: HFTMan  
Дата: 09.12.20 06:22
Оценка: +3 -1
Здравствуйте, varenikAA, Вы писали:

AA>Уже подумываю как бы отделить мух от котлет, чтобы делать НОРМА(!)льные html в нормальном VS Code. Понапридумывают.


Rider же лучшее студии. Подписка стоит копейки.
Re: Ругаю MS
От: mrTwister Россия  
Дата: 09.12.20 10:22
Оценка: +2 -3
Здравствуйте, varenikAA, Вы писали:

AA>В asp.net core 3.1(LTS — задумайтесь!) завезли Json который падает на объектах EF из-за взаимных ссылок объектов.


Просто не стоит возвращать/передавать объекты EF из asp.net core, и вовсе не из-за того, что они не пролезают через json, а потому что объекты ORM — это внутренняя реализация, которой не должно быть на краях системы.
лэт ми спик фром май харт
Re[2]: Ругаю MS
От: varenikAA  
Дата: 11.12.20 05:58
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Просто не стоит возвращать/передавать объекты EF из asp.net core, и вовсе не из-за того, что они не пролезают через json, а потому что объекты ORM — это внутренняя реализация, которой не должно быть на краях системы.


И зачем тогда вообще EF нужно?
Если у клиента есть контакт, контакт привязан к клиенту, куда эту связь девать?
Предлагаете использовать плоский словарь?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Ругаю MS
От: mrTwister Россия  
Дата: 11.12.20 07:05
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>И зачем тогда вообще EF нужно?

Для сохранения (персистенции) доменной модели.

AA>Если у клиента есть контакт, контакт привязан к клиенту, куда эту связь девать?

AA>Предлагаете использовать плоский словарь?
Это уже вопрос построения внешнего API. Зависит от того, как будет удобнее клиентам этого API, от количества клиентов, их ограничений, объема данных и т.д. EF тут точно никаким боком.
лэт ми спик фром май харт
Re[4]: Ругаю MS
От: varenikAA  
Дата: 11.12.20 08:46
Оценка:
Здравствуйте, mrTwister, Вы писали:


T> EF тут точно никаким боком.


Так в этом то и дело. Что EF не причем, просто в LTS версии сырой Json сериализатор.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[5]: Ругаю MS
От: ути-пути Россия  
Дата: 10.01.21 14:15
Оценка: -1
Здравствуйте, varenikAA, Вы писали:

AA>Так в этом то и дело. Что EF не причем, просто в LTS версии сырой Json сериализатор.


Сериализатор сам не может знать, как разрывать циклы.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[6]: Ругаю MS
От: varenikAA  
Дата: 11.01.21 01:36
Оценка:
Здравствуйте, ути-пути, Вы писали:

УП>Здравствуйте, varenikAA, Вы писали:


AA>>Так в этом то и дело. Что EF не причем, просто в LTS версии сырой Json сериализатор.


УП>Сериализатор сам не может знать, как разрывать циклы.


Почему нет? сериализовать то как раз просто(в памяти все связи определены(как-то же из базы загрузили?)), с десериализацией могут быть проблемы, т.к. в стандартном json не сохраняются ссылки.

просто в asp.net core 2 сериализатор использовался с имеющимся функционалом, а в релизе с долговременной поддержкой
тупо взяли и заменили на менее функциональный и живи с этим как хочешь или переползай на багодром net5.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[7]: Ругаю MS
От: barn_czn  
Дата: 12.01.21 08:21
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Здравствуйте, ути-пути, Вы писали:


УП>>Здравствуйте, varenikAA, Вы писали:


AA>>>Так в этом то и дело. Что EF не причем, просто в LTS версии сырой Json сериализатор.


УП>>Сериализатор сам не может знать, как разрывать циклы.


AA>Почему нет? сериализовать то как раз просто(в памяти все связи определены(как-то же из базы загрузили?)), с десериализацией могут быть проблемы, т.к. в стандартном json не сохраняются ссылки.


AA>просто в asp.net core 2 сериализатор использовался с имеющимся функционалом, а в релизе с долговременной поддержкой

AA>тупо взяли и заменили на менее функциональный и живи с этим как хочешь или переползай на багодром net5.

Видишь ли, способов сериализовать граф с циклами несколько. Можно определение объекта вставлять по месту ссылки, можно использовать ключи для ссылок. И что брать ключом — вопрос, а где будет место определения — снова вопрос.
Поэтому я бы ни стал надеяться что магический сериализатор сам решит эти вопросы. В Newton.Json есть для этого дыры особые с конверторами, и то не на все случи.
Сериализуй ручками , делов то.
Re[8]: Ругаю MS
От: varenikAA  
Дата: 12.01.21 09:09
Оценка:
Здравствуйте, barn_czn, Вы писали:


_>Видишь ли, способов сериализовать граф с циклами несколько. Можно определение объекта вставлять по месту ссылки, можно использовать ключи для ссылок. И что брать ключом — вопрос, а где будет место определения — снова вопрос.

_>Поэтому я бы ни стал надеяться что магический сериализатор сам решит эти вопросы. В Newton.Json есть для этого дыры особые с конверторами, и то не на все случи.
_>Сериализуй ручками , делов то.

Это понятно, но зачем изобретать свой велосипед, если в asp.net core 2 уже использовался по умолчанию проверенный сообществом.

ЗЫ С таким бардаком пакетов скоро дотнет переплюнет js.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[9]: Ругаю MS
От: _NN_ www.nemerleweb.com
Дата: 13.01.21 06:53
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

AA>Здравствуйте, barn_czn, Вы писали:.


AA>Это понятно, но зачем изобретать свой велосипед, если в asp.net core 2 уже использовался по умолчанию проверенный сообществом.


Об этом писали и не раз.
Вкратце, Newtonsoft Json недостаточно быстр.
Ускорить его можно но это требует поломки API.
Так как слишком много на него завязано, решили, что проще сделать новую разработку.

https://devblogs.microsoft.com/dotnet/try-the-new-system-text-json-apis/
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.