|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
ViPRosskyANA, "жадная" в математике определено, потому скорее это "полная" воще то я считаю что ОРМ только и нужен для того что бы одним махом загрузить объект или его проекции при этом хорошо бы иметь и лейзи получается что в ЕФ нет ни того, ни другого :( Всё встаёт на свои места, когда понимаешь, что навигационные свойства ≠ вложенные объекты. Странно, почему этот факт многие игнорируют? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:10 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVosttskyANAМне было не понятно то, почему ТСу, кто хочет "жадно" загрузить объект, предлагаются какие-то проекции. Я это озвучил. Что тебя тут смущает? Ты глубже посмотреть не пробовал? Предлагаются не «какие-то проекции», а более эффективный способ работать с данными. Нужно же понимать, что пример с Cart.Person очень ограниченный, в реале объекты гораздо больше и схема сложнее. Поэтому Include и «жадные» загрузки неизбежно приведут к проблемам. Я человека пытаюсь оградить от этого, а ты непонятно чего хочешь. Типа говорят человеку, что для постройки дома нужны чертежи, ты же опираясь на пример с будкой, впариваешь, что чертежи ненужны, сойдёт и так.В реальности бывают и простые объекты и сложные. Вот нужно будет тебе 100 карточек через Web API отдать наружу, ты получается 200 запросов к БД вместо 100 будешь посылать даже если чётко представляешь, что "жадная загрузка" не представляет из себя избыточный SELECT? Ну и опять какие-то левые слова пошли :) Что такое чертежи? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:11 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
ViPRoshVostt, ты вот теперь представляешь почему у ЕФ такие проблемы? (хотя бы то что низзя инклюд вывести за скобки) Я не вижу никаких проблем. Include нельзя вынести за скобки, потому что БД может быть спроектирована таким образом, что вытащишь один объект, а он через связи потянет за собой половину или почти всю базу данных. Include это костыль, призванный удовлетворить тех упёртых ребят, которые никак не хотят видеть разницу между навигационными свойствами и вложенными объектами. Работать с «целым» объектом -- кажется вот как видится ORM, но это совсем не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:13 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVosttskyANAНе согласен. Для задачи ТС Include() прекрасно подходит. Для какой задачи? Ты УВЕРЕН что знаешь задачу ТС? Он привёл один маленький примерчик. Думаешь это и есть задача? Ахааххаах... это... довольно мило, если ты так считаешь Уверен, так что завязывай троллить, глупо. ТС чёрными русскими буквами писал, что рабочий проект сдан давно, он чисто для себя балуется с EF: 16746956 . Видимо из-за этого кстати и вопросы дополнительные не задаёт, занялся чем другим по работе. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:16 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAВот нужно будет тебе 100 карточек через Web API отдать наружу, ты получается 200 запросов к БД вместо 100 будешь посылать даже если чётко представляешь, что "жадная загрузка" не представляет из себя избыточный SELECT? Почему? Зная, что Person внутри Cart, это навигационное свойство , а не вложенный объект ? Ты пытаешься это знание скрыть. А если таких свойств 20? А у них еще по 10? Покажи-ка мне какая получится инструкция с Include().Include().Include().Include().Include().Include() ? skyANAНу и опять какие-то левые слова пошли :) Что такое чертежи? У тебя банальные проблемы с метафорами. Макконнелла почитай. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:17 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
ViPRosа в твоем монго (с твоих слов и по твоему прмеру) нет никакого графа объектов, а есть вложенная разметкаА MongoDB то тут при чём? JSON строка - это просто строка, однако её можно преобразовать к графу объектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:18 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAУверен, так что завязывай троллить, глупо. ТС чёрными русскими буквами писал, что рабочий проект сдан давно, он чисто для себя балуется с EF: 16746956 . Видимо из-за этого кстати и вопросы дополнительные не задаёт, занялся чем другим по работе. Дурака-то не включай. Если он балуется, чтобы затем бросить, значит вообще плевать что ему тут советуют. Если он сейчас балуется, чтобы затем применять по назначению, значит надо сразу закладывать правильный фундамент. Include -- зло, и не должно применяться на практике. Почему, я уже объяснил. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:19 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVostt, часто "целые" объекты нужны, особенно если есть ограничения, которые невозможно описать контсрейнтами СКЛ в СУБД потому и инклюд и лейзи должны быть вынесены за скобки и быть обусловленными от OCL модели просто у ЕФ нет модели, потому и такие ляпы (ЕФ просто не знает где закончится граф, потому не может оценить реультат и включить лейзи автоматом, да и контрейнты он не анализирует нифига) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:20 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANA, а монго преобразовывает? вот мамс преобразовывала в 80 году ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:21 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
ViPRoshVostt, часто "целые" объекты нужны, особенно если есть ограничения, которые невозможно описать контсрейнтами СКЛ в СУБД потому и инклюд и лейзи должны быть вынесены за скобки и быть обусловленными от OCL модели просто у ЕФ нет модели, потому и такие ляпы (ЕФ просто не знает где закончится граф, потому не может оценить реультат и включить лейзи автоматом, да и контрейнты он не анализирует нифига) Я не думаю, что ЕФ задумывался настолько топ-левел. Это прослойка между реляционной БД и кодом. Не более того. Вроде как планируется туда включить ещё и NoSQL. Хз конечно, что получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:23 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVostt, ок ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:25 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVosttViPRosskyANA, "жадная" в математике определено, потому скорее это "полная" воще то я считаю что ОРМ только и нужен для того что бы одним махом загрузить объект или его проекции при этом хорошо бы иметь и лейзи получается что в ЕФ нет ни того, ни другого :( Всё встаёт на свои места, когда понимаешь, что навигационные свойства ≠ вложенные объекты. Странно, почему этот факт многие игнорируют?Потому как не все при проектировании доменной модели пользуются терминологией EF :) Если я запрашиваю данные туриста у сервиса поставщика, то ожидаю увидеть заполненными все свойства, а не предложение дёрнуть ещё пару методов сервиса, так как ну это же на самом деле навигационные свойства, у нас в базе они по разным таблицам раскиданы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:30 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANA, значит надо договориться с сервисом ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:31 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVosttskyANAВот нужно будет тебе 100 карточек через Web API отдать наружу, ты получается 200 запросов к БД вместо 100 будешь посылать даже если чётко представляешь, что "жадная загрузка" не представляет из себя избыточный SELECT? Почему? Зная, что Person внутри Cart, это навигационное свойство , а не вложенный объект ? Ты пытаешься это знание скрыть. А если таких свойств 20? А у них еще по 10? Покажи-ка мне какая получится инструкция с Include().Include().Include().Include().Include().Include() ?Давай остановимся на случае, когда свойство одно. Совершенно не редкий случай. hVosttskyANAНу и опять какие-то левые слова пошли :) Что такое чертежи? У тебя банальные проблемы с метафорами. Макконнелла почитай. А, вот оно что. Ты считаешь что классно и понятно объясняешь всё метафорически. Заблуждаешься :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:36 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAПотому как не все при проектировании доменной модели пользуются терминологией EF :) Если я запрашиваю данные туриста у сервиса поставщика, то ожидаю увидеть заполненными все свойства, а не предложение дёрнуть ещё пару методов сервиса, так как ну это же на самом деле навигационные свойства, у нас в базе они по разным таблицам раскиданы. Да что ты говоришь? Какой наивно-оптимистичный подход! Я бы даже сказал, достойный прыщавого юнца. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Т.е. дёрнув из базы всего один единственный Item, мы получим целую свалку данных, путешествуя по графу, от Catalog до Store, затем получая попутно все Catalogs и в каждом из них Items Хороший же запрос получится, что сказать ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:38 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
ViPRosskyANA, значит надо договориться с сервисомО чём? С сервисами всё нормально, они там где надо "жадно" отдают. Там где не надо, предлагает воспользоваться соответсвующими методами. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:38 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAА, вот оно что. Ты считаешь что классно и понятно объясняешь всё метафорически. Заблуждаешься :) Просто ты не понимаешь метафор, это я уже уяснил. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:40 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAО чём? С сервисами всё нормально, они там где надо "жадно" отдают. Там где не надо, предлагает воспользоваться соответсвующими методами. Что это значит «там где надо»? Т.е. всё-таки договориться? Ахахах... Удивляешь всё больше и больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:40 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVosttskyANAПотому как не все при проектировании доменной модели пользуются терминологией EF :) Если я запрашиваю данные туриста у сервиса поставщика, то ожидаю увидеть заполненными все свойства, а не предложение дёрнуть ещё пару методов сервиса, так как ну это же на самом деле навигационные свойства, у нас в базе они по разным таблицам раскиданы. Да что ты говоришь? Какой наивно-оптимистичный подход! Я бы даже сказал, достойный прыщавого юнца. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Т.е. дёрнув из базы всего один единственный Item, мы получим целую свалку данных, путешествуя по графу, от Catalog до Store, затем получая попутно все Catalogs и в каждом из них Items Хороший же запрос получится, что сказать Ну вот опять глупый троллинг. Я же писал, что нужно понимать, где можно и нужно "жадно", а где "лениво": 16817259 . Зачем ты выдумываешь то, чего я бы не сделал? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:42 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAViPRosskyANA, значит надо договориться с сервисомО чём? о схемах :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:44 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
ViPRosskyANAпропущено... О чём? о схемах :)Ну обычно в документации пишут, где "жадно", а где надо отдельно допрашивать данные :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:45 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANA, без обид такое впечатление, что ты что то вызубрил и точно знаешь, но не мыслишь ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:46 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAНу вот опять глупый троллинг. Я же писал, что нужно понимать, где можно и нужно "жадно", а где "лениво": 16817259 . Зачем ты выдумываешь то, чего я бы не сделал? И как это понимать, указывать Include? Вот у сервиса требуют объект Cart, откуда сервис знает, включать ли туда Person и чего-то ещё, или нет? Понимаешь, что этот бардак будет только разрастаться. Предлагаешь делать так: GetCartWithPerson(id) GetCartWithPersonAndContacts(id) GetCartWithContactsOnly(id) ? Или построить для этих целей «красивый» Object Query? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:46 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAНу обычно в документации пишут, где "жадно", а где надо отдельно допрашивать данные :) Есть же любители намерянно всё усложнять и делать через зад. Выбирают себе зачем-то профессию разработки ПО вместо проктолога. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:48 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVostt, в ВИПРОС пишем LoadAndFillMacroType("Контракт"); ( public void LoadAndFillMacroType(string macrotypename, Guid contextid, bool viewmode = false) public void LoadAndFillMacroType(string macrotypename, bool viewmode = false) ) А Контракт громадный граф ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:52 |
|
|
start [/forum/topic.php?fid=17&msg=38799624&tid=1349680]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
376ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 255ms |
total: | 735ms |
0 / 0 |