|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
Кстати, Сахават, по твоей логике выходит, что ты сам больной человек. А учитывая, что скоро на пенсию, то сильно больной, нежели я :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:32 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAУ тебя никаких паталогий не наблюдается? Не поленился и нашёл: 16780441 А ответ мой не забыл почитать? Я дал ответ, доп. вопросов не последовало. Но тут вмешался ты skyANAСпециально выделил тебе вопрос почему, заданный тебе на счёт Include. Ну теперь-то объяснишь свою позицию? Только давай нормально, а не плохо, потому что я уже три раза сказал, что плохо. Позиция простая, уже в 2-х словах: «Include — плохо». Почему плохо? 1. Include это EF-specific, зависимость от сборки с EF — самый основной минус в «карму» 2. Include в абсолютном большинстве случаев создаёт SQL-запрос с сильно избыточным результатом 3. Include не позволяет указать ограничения (примеры: по доступу, по маркеру «удалён», по другим хар-кам) 4. Include приходится указывать для каждого свойства, которое требуется подгрузить, а их может быть много, если загружаемые объекты имеют ещё вложенные свойства, их тоже требуется указывать, таким образом летит к чертям концепция «загрузки графа объекта», кроме того снижается «порог чувствительности» того, что мы работаем с реляционной БД, а это может сильно ударить (и обязательно не раз ударит) по темечку 5. В противовес Include -- если объект был загружен в сессии контекста, то обращение к навигационному свойству не вызовет обращение к базе данных. Пример: Код: c# 1. 2. 3. 4. 5. 6. 7.
Соответственно, накуй этот костыль Include не нужен. Забыть навсегда и никогда не вспоминать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:39 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANA, я тебя специально поддел, что бы ты понял, что пора перестать обзывать других глупцами видишь как больно? из за того что тебе непонятно по каким то причинам речь другого, не надо обзываться, просто пропусти мимо и все :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:39 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAНу не строй из себя дурака. Мои замечания к тебе относились не к EF, а к тому, что ты совсем не то, что надо ТСу предлагаешь. Так ты личный представитель ТС я не понял? ТС вопросов не задаёт, а задаёшь их ты, значит это надо тебе, а не ему. Вообще никто не знает, зайдёт ли ТС ещё когда-нибудь в этот тред, так что не надо строить из себя помогающую ТС-у мать Терезу ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:40 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
в не пью, не дую и т.д. и мне правда до пенсии 2 года (не дождетесь конечно :)) потому полече воще то если пишу непонятно но это интересно тебе то попробуй разобраться, а не интересно так мимо и все ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:42 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVosttТС вопросов не задаёт, а задаёшь их ты, значит это надо тебе, а не ему.не-не, вопрос-то задал я и с удовольствием и познаванием слежу за топиком ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:43 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVostt, а почему бы Include не вынести за скобки? типа загрузить по всем навигационным? почему скл избыточен? по идее include должна возвращать несколько резульсетов или она генерирует лефт джойны и потом парсить в памяти? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:46 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
ViPRosа почему бы Include не вынести за скобки? типа загрузить по всем навигационным? Нет такого способа. ViPRosпочему скл избыточен? Избыточен не SQL, а результат. ViPRosпо идее include должна возвращать несколько резульсетов или она генерирует лефт джойны и потом парсить в памяти? Именно ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:47 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
ViPRosskyANA, я тебя специально поддел, что бы ты понял, что пора перестать обзывать других глупцами видишь как больно?Совсем не больно. Но спасибо, что ты признал то, что глупости написал. ViPRosиз за того что тебе непонятно по каким то причинам речь другого, не надо обзываться, просто пропусти мимо и все :)Мне было не понятно то, почему ТСу, кто хочет "жадно" загрузить объект, предлагаются какие-то проекции. Я это озвучил. Что тебя тут смущает? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:48 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
Shocker.ProhVosttТС вопросов не задаёт, а задаёшь их ты, значит это надо тебе, а не ему.не-не, вопрос-то задал я и с удовольствием и познаванием слежу за топиком Вот! Не зря значит я тут докапываюсь до сути :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:49 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANA, инклюд в еф (со слов хвоста) строить лефт джойн - что не есть хорошо и воще ооочень плохо, так как при этом низзя загрузить даже дерево, не то что б граф кроме того нет способа сразу задать инклюд для всего графа потому инклюд в еф - говно ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:54 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
а в твоем монго (с твоих слов и по твоему прмеру) нет никакого графа объектов, а есть вложенная разметка ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:55 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
а Хвост не ответил на мой вопрос про Лейзи и Кеш (как лейзи работает с кешем) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:56 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAМне было не понятно то, почему ТСу, кто хочет "жадно" загрузить объект, предлагаются какие-то проекции. Я это озвучил. Что тебя тут смущает? Ты глубже посмотреть не пробовал? Предлагаются не «какие-то проекции», а более эффективный способ работать с данными. Нужно же понимать, что пример с Cart.Person очень ограниченный, в реале объекты гораздо больше и схема сложнее. Поэтому Include и «жадные» загрузки неизбежно приведут к проблемам. Я человека пытаюсь оградить от этого, а ты непонятно чего хочешь. Типа говорят человеку, что для постройки дома нужны чертежи, ты же опираясь на пример с будкой, впариваешь, что чертежи ненужны, сойдёт и так. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:59 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
ViPRosа Хвост не ответил на мой вопрос про Лейзи и Кеш (как лейзи работает с кешем) Работает кеш. Если в сессии объект был загружен, он не будет загружаться ещё раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 00:59 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVostt, значит лейзи запросто можно обмануть? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:01 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
ViPRosинклюд в еф (со слов хвоста) строить лефт джойн - что не есть хорошо и воще ооочень плохо, так как при этом низзя загрузить даже дерево, не то что б граф кроме того нет способа сразу задать инклюд для всего графа потому инклюд в еф - говно Именно об этом и речь ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:01 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVosttПозиция простая, уже в 2-х словах: «Include — плохо». Почему плохо? 1. Include это EF-specific, зависимость от сборки с EF — самый основной минус в «карму»ТС писал на форуме о том, что знает SQL и ADO.NET, и в данный момент изучает именно специфику EF. hVostt2. Include в абсолютном большинстве случаев создаёт SQL-запрос с сильно избыточным результатомА данный конкретный случай иллюстрирует, что результат именно тот, что нужен ТСу. hVostt3. Include не позволяет указать ограничения (примеры: по доступу, по маркеру «удалён», по другим хар-кам)А этого и не требуется. hVostt4. Include приходится указывать для каждого свойства, которое требуется подгрузить, а их может быть много, если загружаемые объекты имеют ещё вложенные свойства, их тоже требуется указывать, таким образом летит к чертям концепция «загрузки графа объекта», кроме того снижается «порог чувствительности» того, что мы работаем с реляционной БД, а это может сильно ударить (и обязательно не раз ударит) по темечкуЭто всё понятно, но опять-таки описанная ситуация не относится к задаче ТСа. hVostt5. В противовес Include -- если объект был загружен в сессии контекста, то обращение к навигационному свойству не вызовет обращение к базе данных. Пример: Код: c# 1. 2. 3. 4. 5. 6. 7.
В случа с Include() "дополнительного обращения к базе" тоже не будет. Причём мы явно это знаем. hVosttСоответственно, накуй этот костыль Include не нужен. Забыть навсегда и никогда не вспоминать.Не согласен. Для задачи ТС Include() прекрасно подходит. А что, в EF нет другого способа "жадной загрузки"? В статье только Include() упоминается. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:01 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
т.е. полагаемся только на стратегию кеширования ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:01 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
ViPRoshVostt, значит лейзи запросто можно обмануть? Да, пример выше я привёл. Ну только это не обман, а нормальное поведение. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:01 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAНе согласен. Для задачи ТС Include() прекрасно подходит. Для какой задачи? Ты УВЕРЕН что знаешь задачу ТС? Он привёл один маленький примерчик. Думаешь это и есть задача? Ахааххаах... это... довольно мило, если ты так считаешь ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:03 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANA, "жадная" в математике определено, потому скорее это "полная" воще то я считаю что ОРМ только и нужен для того что бы одним махом загрузить объект или его проекции при этом хорошо бы иметь и лейзи получается что в ЕФ нет ни того, ни другого :( ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:04 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
hVosttskyANAНе согласен. Для задачи ТС Include() прекрасно подходит. Для какой задачи? Ты УВЕРЕН что знаешь задачу ТС? Он привёл один маленький примерчик. Думаешь это и есть задача? Ахааххаах... это... довольно мило, если ты так считаешь это они тут мальчиком взяли за правило - "к пуговицам претензии есть??", я не зря Райкина (будь он неладен) вспоминал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:06 |
|
Связь один к одному EF Code First
|
|||
---|---|---|---|
#18+
skyANAТС писал на форуме о том, что знает SQL и ADO.NET, и в данный момент изучает именно специфику EF. Ты мой пункт 1. вооооообще не понял. Доступ к данным обычно инкапсулируется в отдельный слой, там же живёт EF. Кто работает со слоем данных знать не знают никаких Include. skyANAА что, в EF нет другого способа "жадной загрузки"? В статье только Include() упоминается. Есть. Load. Тоже EF-specific, и ещё хуже чем Include. Позволяет работать с навигационными свойствами без модификатора virtual . ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2014, 01:07 |
|
|
start [/forum/topic.php?fid=17&msg=38799601&tid=1349680]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 279ms |
0 / 0 |