Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Web API oData NavigationProperty равен null
|
|||
|---|---|---|---|
|
#18+
мсущко3А чем тебе для рецепта не устроила EF модель? Меня никуда не несло в отличие от тебя. Как чем, я же объяснил. EF-модель это модель данных, она представляет то, как данные хранятся, но не то, чем они являются. Например, для всех или большинства справочников может использоваться одна таблица. Но логически там могут лежать никак не связанные друг с другом данные. Да, бизнес-модель может некоторыми местами вообще не иметь особых отличий от модели EF, но всё равно -- это разные модели! Как ты запоёшь, когда услышишь советы просовывать DbContext и его модели в представление ASP.NET MVC? Правильно, отчётливо громко. А новичков часто ставит в тупик вопрос, типа нуачо я должен пыхтеть и создавать какие-то ваши вью модели?! Не хочу париться, суну контекст! Не вижу отличий с твоим примером. мсущко3А какой ты предлагаешь писать "негавнокод" в рецептах с Products и Categories? Да пусть даже Products и Categories пойдут в продуктив, какие проблемы пихнуть эти справочники общую odata модель? У тебя параноя? Это не паранойаа, это опыт. Ложка говна может даже из бочки мёда сделать бочку дурной субстанции. Зачем оно нужно? Делай сразу по уму, и новичков наставляй сразу делать по уму. А то понаучатся по всяким студенческим примерам, в том числе от майкрософт, так и кобласят в таком же стиле. Сто тысяч раз наблюдал, как программисты с десятком годов опыта за плечами до сих пор фигарят так, как их в университетах научили. И тупо не понимают, что говнокодят. Вместо того, чтобы сразу делать вменяемую архитектуру, лучше мартышкин труд, убивать клаву, вместо изящного, лёгкого, сопровождаемого программирования. Технический долг конечно всегда есть, но его надо минимизировать сразу же, в разумных пределах. Отказаться от EF модели за пределами бизнес-логики, контроллеры (не важно какие, MVC, WebAPI, OData) работают только с бизнес-моделью -- это разумные пределы и выполнимые. Не надо нарушать! мсущко3Так рецепт такой, вот такого и фига. Есть более сложные рецепты http://codearticles.ru/articles/2486 в который я сам пишу свой транслятор и разбираю Query, чтобы обратиться к сторонней системе (у меня в боевом сервисе это Аксапте), сформировать X++ запрос, получить данные в терминах Аксапты, перемапить их в предметную область и нормальные классы OData сервиса, и отдать клиенту. Но зачем ТС'у начинать изучать технологию с таких сложных кейсов? Какие у меня "отмазоны"? Странный ты. Это круто и правильно. Но речь шла именно о твоём совете, eager loading это однозначный костыль. Уверен, что разрабы могли бы не делать его, если бы не толпа школоты, которая требует возможности говнокодить. А у тебя начались отмазоны, дескать при чём тут БД ))) Я не-про-БД и не говорю. Пожалуйста, трансляторы, ок. Но зачем тебе транслятор БД через OData? Ну т.е., если это изначально не является самоцелью. мсущко3Ну будет у меня композитный объект MyDomainType, который будет оперировать справочниками Products и Categories. В чем проблема-то? Я про это и говорю. Более того, композитная модель с помощью проекции может вытаскивать данные без костылей типа Include и Load. Проекции! )) мсущко3Ты просто облажался и ляпнул не в тему. Теперь расхлебываешь. Ну-ну. Пока ты мажешься, съезжая с темы "при чём тут БД, я тут транслирую аксапту...", я тебе объясняю теорию. Экономлю тебе на книжки )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2015, 13:42 |
|
||
|
Web API oData NavigationProperty равен null
|
|||
|---|---|---|---|
|
#18+
Модератор, выпусти ты человека из бани, чо за беспредел? Устроили кровавый режим, панимаешь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2015, 13:46 |
|
||
|
Web API oData NavigationProperty равен null
|
|||
|---|---|---|---|
|
#18+
hVosttКак чем, я же объяснил. EF-модель это модель данных, она представляет то, как данные хранятся, но не то, чем они являются. Например, для всех или большинства справочников может использоваться одна таблица. Но логически там могут лежать никак не связанные друг с другом данные. Да, бизнес-модель может некоторыми местами вообще не иметь особых отличий от модели EF, но всё равно -- это разные модели! Есть частные случаи, когда разумно использовать композитную модель, в которой используются классы-справочники EF. У меня есть проект, где таких однотипных простых справочников порядка 30. Зачем мне выводить их в отдельные классы - это же кретинизм чистой воды. Эти классы отлично себя чувствуют в общем бизнес модели. hVosttКак ты запоёшь, когда услышишь советы просовывать DbContext и его модели в представление ASP.NET MVC? Правильно, отчётливо громко. А новичков часто ставит в тупик вопрос, типа нуачо я должен пыхтеть и создавать какие-то ваши вью модели?! Не хочу париться, суну контекст! Не вижу отличий с твоим примером. Причем тут DbContext и модель представления? Вызывающие классы вообще ничего не знают о DbContext. Там может быть спрятано всё, что угодно - и DbContext, и контекст аксапты, сапа и еще чего угодно. Но тем не менее, некоторые чистые классы приходят от DbContext. В частности справочники. Они от того и POCO, что я могу с ними делать всё, что угодно. Это разумный подход, а не подход зомби упорыша :) hVosttЭто не паранойаа, это опыт. Да какой у тебя опыт, кому ты тут лечишь Ты дальше тестов и верстания страничек пороху не нюхал )) hVosttОтказаться от EF модели за пределами бизнес-логики, контроллеры (не важно какие, MVC, WebAPI, OData) работают только с бизнес-моделью -- это разумные пределы и выполнимые. Не надо нарушать! Это я решу, о чего надо отказываться. Отказываться от простых POCO справочников, которые есть в EF и которые нужны в доменной модели - это шизофрения. hVosttЭто круто и правильно. Но речь шла именно о твоём совете, eager loading это однозначный костыль. Уверен, что разрабы могли бы не делать его, если бы не толпа школоты, которая требует возможности говнокодить. Мой совет исходит из рецепта, о котором я сказал в самом начале. Человек делает примеры по рецепту, зачем я буду его грузить аксаптами, Query трансляторами и прочей закромой OData идеологии? Ты реально упоролся что ли? hVosttЯ про это и говорю. Более того, композитная модель с помощью проекции может вытаскивать данные без костылей типа Include и Load. Проекции! )) Никаких проекций не надо. Есть внятный на клиенте слой, который делает то, что должен делать. Как он это должен делать, через проекции или вызовов ad hoc odata запросов, фиолетово. Заканчивай свою ламерщину уже :) hVosttмсущко3Ты просто облажался и ляпнул не в тему. Теперь расхлебываешь. Ну-ну. Пока ты мажешься, съезжая с темы "при чём тут БД, я тут транслирую аксапту...", я тебе объясняю теорию. Экономлю тебе на книжки )) Ты еще слишком соплив, чтобы мне рассказывать теорию :) Лучше читай рецепты и учись делать реальные вещи. Подчеркиваю - делать, а не голосить на форуме :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2015, 13:58 |
|
||
|
Web API oData NavigationProperty равен null
|
|||
|---|---|---|---|
|
#18+
И ты так и не сказал, как помогут проекции, если у ТС директива EnableQuery не была включена? Жду ответа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2015, 14:00 |
|
||
|
Web API oData NavigationProperty равен null
|
|||
|---|---|---|---|
|
#18+
мсущко4Есть частные случаи, когда разумно использовать композитную модель, в которой используются классы-справочники EF. У меня есть проект, где таких однотипных простых справочников порядка 30. Зачем мне выводить их в отдельные классы - это же кретинизм чистой воды. Эти классы отлично себя чувствуют в общем бизнес модели. Ну порядок в 30 справочников уже попахивает, хотя и bydesign канеш. Хотя всё равно попахивает. Ну даладно. Я так понял ты как студент размышляешь? Типа чоябуду...блыблыблы? Аниже простые. мсущко4Причем тут DbContext и модель представления? Вызывающие классы вообще ничего не знают о DbContext. Там может быть спрятано всё, что угодно - и DbContext, и контекст аксапты, сапа и еще чего угодно. Но тем не менее, некоторые чистые классы приходят от DbContext. В частности справочники. Они от того и POCO, что я могу с ними делать всё, что угодно. Это разумный подход, а не подход зомби упорыша :) Выделенное, это фейл. Рука-зомби-лицо. Я панимаю, что ты можешь делать с ними что угодно. Никто же не запретит тебе говнокодить, так? мсущко4Это я решу, о чего надо отказываться. Отказываться от простых POCO справочников, которые есть в EF и которые нужны в доменной модели - это шизофрения. POCO-справночники, это ж надо :) Каждый день что-то новое Кста, как быстро мы переключились на справочники ))) А ведь был сложный eagger loading, который справочникам не нужен ведь, правда? Что с ним? Юзаешь Load-костыли, признавайся!? мсущко4Мой совет исходит из рецепта Т.е. ты не подумав, сказал? Просто копипаста из рецепта? мсущко4Никаких проекций не надо. Есть внятный на клиенте слой, который делает то, что должен делать. Как он это должен делать, через проекции или вызовов ad hoc odata запросов, фиолетово. Заканчивай свою ламерщину уже :) Ну чо ты позоришься. МОжет ты и не знаешь как делать проекциями, потому мнёшь булки тут? мсущко4Ты еще слишком соплив, чтобы мне рассказывать теорию :) Лучше читай рецепты и учись делать реальные вещи. Подчеркиваю - делать, а не голосить на форуме :) Ггг.. ты ещё не доучил теорию, ща ведь попросишь заценить как делать проекции, уверен на все 100! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2015, 14:12 |
|
||
|
Web API oData NavigationProperty равен null
|
|||
|---|---|---|---|
|
#18+
мсущко4И ты так и не сказал, как помогут проекции, если у ТС директива EnableQuery не была включена? Жду ответа. директива тут при чём? да, она нужна конечно чтобы одата заработала, но я ведь вообще не об этом говорил, а про костыль Load, изначально, да и вообще про юзание дбконтекста напрямую в контроллере. опять ворочаешься на сковороде, печёт небось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2015, 14:14 |
|
||
|
Web API oData NavigationProperty равен null
|
|||
|---|---|---|---|
|
#18+
hVosttНу порядок в 30 справочников уже попахивает, хотя и bydesign канеш. Хотя всё равно попахивает. Ну даладно. Я так понял ты как студент размышляешь? Типа чоябуду...блыблыблы? Аниже простые. Чем попахивает? В аксапте их больше сотни, между тем. Я же не виноват, что твой удел - это колупание сайта на 5 страниц. Ты просто не участвовал в больших проектах. Посади тебя куда-нить в биллинг Мегафона, вот там бы у тебя вообще яйца вскипели. Работал в 2008 на одном проекте по документообороту под них + интеграция с порталом на шарике. Так что твои высказывания по поводу попахивает не стоят и ломаного гроша, извини. hVosttмсущко4Причем тут DbContext и модель представления? Вызывающие классы вообще ничего не знают о DbContext. Там может быть спрятано всё, что угодно - и DbContext, и контекст аксапты, сапа и еще чего угодно. Но тем не менее, некоторые чистые классы приходят от DbContext. В частности справочники. Они от того и POCO, что я могу с ними делать всё, что угодно. Это разумный подход, а не подход зомби упорыша :) Выделенное, это фейл. Рука-зомби-лицо. Это POCO классы, они ничего не знают о контексте. А контекст, в свою очередь, всё знает о своих POCO классах. Что тебя смущает? hVosttЯ панимаю, что ты можешь делать с ними что угодно. Никто же не запретит тебе говнокодить, так? Использовать POCO для модели - это гавнокод? А что же тогда будет, если использовать POCO для POCO? Ты как всегда шедеврален. hVosttмсущко4Это я решу, о чего надо отказываться. Отказываться от простых POCO справочников, которые есть в EF и которые нужны в доменной модели - это шизофрения. POCO-справночники, это ж надо :) Каждый день что-то новое Учись, пока я не забанен жив :) hVosttКста, как быстро мы переключились на справочники ))) А ведь был сложный eagger loading, который справочникам не нужен ведь, правда? Что с ним? Юзаешь Load-костыли, признавайся!? Там Category и Product, открой глаза уже. Это справочники. На них удобно учиться по рецептам, после приходит понимание, что такое OData и как оно работает. Почти во всех мануалах по OData есть примеры с EF. Или ты предлагаешь в том рецепте транслировать Query в X++ запросы под аксапту? Под большие выборки используется фильтры в слое клиента, всё как обычно. Много не потащищь. На стороне сервера есть директивы с ограничениями. На клиенте используется ExecuteAsync. hVosttмсущко4Мой совет исходит из рецепта Т.е. ты не подумав, сказал? Просто копипаста из рецепта? Что не подумав? Я не понимаю, о чем ты. Всё, что сказано мною выше - имеет силу и сейчас. hVosttНу чо ты позоришься. МОжет ты и не знаешь как делать проекциями, потому мнёшь булки тут? Ты выучил новое слово и начал его употреблять куда ни попадя? Молодец :) Я знаю, что такое проекции, но они в задаче 100% не нужны. hVosttГгг.. ты ещё не доучил теорию, ща ведь попросишь заценить как делать проекции, уверен на все 100! Ты хочешь поговорить о проекциях в этом топике? А почему не о губной помаде, например? hVosttмсущко4И ты так и не сказал, как помогут проекции, если у ТС директива EnableQuery не была включена? Жду ответа. директива тут при чём? да, она нужна конечно чтобы одата заработала, но я ведь вообще не об этом говорил, а про костыль Load, изначально, да и вообще про юзание дбконтекста напрямую в контроллере. опять ворочаешься на сковороде, печёт небось? Директива притом, что она не давала с клиента формировать джойны, о которых просил автор. Что такое Load? Ты про ExecuteAsync? У него WPF, у него есть наблюдаемые коллекции, у него автоматом трачится контекст и обновляет модель. Тебе еще рано работать с такими типами проектов, сиди ковыряйся в проекциях лучше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2015, 16:00 |
|
||
|
Web API oData NavigationProperty равен null
|
|||
|---|---|---|---|
|
#18+
Возникла зеркальная проблема, при изменении на стороне клиента не получается изменить свойство навигации Вот такая ошибка: Код: xml 1. 2. 3. 4. 5. Подскажите, где подправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2015, 19:18 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=39012468&tid=1356327]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 277ms |
| total: | 408ms |

| 0 / 0 |
