|
|
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Привет всем! Если в профайлере посмотреть как ведёт себя мастердетальная связка из примеров то детальная часть допочитывается по мере движения по мастеру вниз, если вернуться вверх к пройденным, то запроса на сервер не производится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 13:37 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Bill GreatПривет всем! Если в профайлере посмотреть как ведёт себя мастердетальная связка из примеров то детальная часть допочитывается по мере движения по мастеру вниз, если вернуться вверх к пройденным, то запроса на сервер не производится. deffered loading называется, это типа Lazy fetch грекси, но он не захотел это признать. Но нифига хорошего тоже нет, надо постояннно refresh делать в случае чего. Вобщем, нет этой чертовой пули. :( Все ручкми, только время теряешь на все эти ОРМ и всякое говно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 13:41 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
вот гавном попрошу не кидаться, лучше ковыряйтесь в своем дальше ручками и никого не пачкайте. почитайте про рекомендации по использованию DataContext, не надо класть его в сессию или свой синглтон и пользоваться им до потери пульса. что хотел сказать автор я не понял, то-ли он очень обрадовался и захотел со всеми поделиться, то-ли ещё что ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 14:13 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
зывот гавном попрошу не кидаться, лучше ковыряйтесь в своем дальше ручками и никого не пачкайте. почитайте про рекомендации по использованию DataContext, не надо класть его в сессию или свой синглтон и пользоваться им до потери пульса. что хотел сказать автор я не понял, то-ли он очень обрадовался и захотел со всеми поделиться, то-ли ещё что Народ уже выжил из ума видать со своими обертками. Дообертывались до того , что уже суть потеряли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 14:41 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифов Народ уже выжил из ума видать со своими обертками. Дообертывались до того , что уже суть потеряли. у вас какие-то проблемы с выражением собственных мыслей? хотите сказать, но получается, как вы говорите, "гавно"? постарайтесь не утруждать себя больше подобной водичкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 14:47 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
зы Сахават Юсифов Народ уже выжил из ума видать со своими обертками. Дообертывались до того , что уже суть потеряли. у вас какие-то проблемы с выражением собственных мыслей? хотите сказать, но получается, как вы говорите, "гавно"? постарайтесь не утруждать себя больше подобной водичкой Моти мысли я сказал, а е вы тут дергаетесь, не понимаю. Я сказал, что принудительное кеширование без спроса не есть хорошо. Если я обращаюсь к данным повторно, то скорее всего я хочу актуальные данные, а не устаревшене говно. Есть чего сказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 15:00 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифов Моти мысли я сказал, а е вы тут дергаетесь зачем же так нервничать, аж вижу что пальцы трясутся. Сахават Юсифов Я сказал, что принудительное кеширование без спроса не есть хорошо. Если я обращаюсь к данным повторно, то скорее всего я хочу актуальные данные, а не устаревшене говно. Есть чего сказать? ну во-первых, специально для вас предусмотрели возможность это отключить. Во вторых, это называется identity cache, кеш первого уровня. Если придерживаться простой логики и писать код, а не "говно", то ничего плохого в таком кеше нет, одни только плюсы. В течении вашей сессии работы с данными, данные как правило меняются исключительно вами. Устареть они могут, если держать их там пару часов, что видимо и соответствует архитектуре вашего "говно-кода". Удачи в начинаниях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 15:28 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
зы что хотел сказать автор я не понял, то-ли он очень обрадовался и захотел со всеми поделиться, то-ли ещё что Автор хотел обратить внимание на неочевидный способ кэширования, который програмер не управляет. Это очень не хорошо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 15:38 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
зы ... Откуда блин сколько вампиров развелось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 15:40 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Bill GreatАвтор хотел обратить внимание на неочевидный способ кэширования, который програмер не управляет. Это очень не хорошо! Сказали же, что это Identity Map ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 15:40 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
зы ну во-первых, специально для вас предусмотрели возможность это отключить. Как ? зы Во вторых, это называется identity cache, кеш первого уровня. Если придерживаться простой логики то ничего плохого в таком кеше нет, одни только плюсы. В течении вашей сессии работы с данными, данные как правило меняются исключительно вами. Минус очевидны - я не могу прочитать originalValue у записи, доступен только Current! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 15:40 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Bill GreatМинус очевидны - я не могу прочитать originalValue у записи, доступен только Current! Вот ведь мозг вам извратили датасеты эти... Меняйте образ мышления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 15:42 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Нахлобуч Вот ведь мозг вам извратили датасеты эти... Меняйте образ мышления. Рад бы да база так устроена! Кстати как вы думаете предполагает ли LINQ что рядом с ним будут использованы обычные DataSet? Ведь кол-во sql запрсов в программе на несколько порядков больше чем объектов сервера? Эти sql запросы то же надо в объекты сервера превращать? Это было бы очень плохо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 15:49 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Bill GreatРад бы да база так устроена! Как устроена? Каким боком OriginalValue соотносится с базой? Bill Great Кстати как вы думаете предполагает ли LINQ что рядом с ним будут использованы обычные DataSet? Ведь кол-во sql запрсов в программе на несколько порядков больше чем объектов сервера? Эти sql запросы то же надо в объекты сервера превращать? Это было бы очень плохо! Оставьте уже эти ваши домыслы. Ничем не подкрепленные "Очень плохо" и "очень хорошо" -- это детский сад. Вы попробуйте почитать документацию (про те же анонимные типы, например), поработать с линком и ORM'ами, а потом аргументированно докажите, что такое хорошо, а что такое плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 15:58 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Нахлобуч Как устроена? Каким боком OriginalValue соотносится с базой? Просто - делать update или insert зависит от разности CurrentValue - OriginalValue и это у нас часто бывает. Повтроряю главный вопрос Кстати как вы думаете предполагает ли LINQ что рядом с ним будут использованы обычные DataSet? Ведь кол-во sql запрсов в программе на несколько порядков больше чем объектов сервера? Эти sql запросы то же надо в объекты сервера превращать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 16:00 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Bill GreatПросто - делать update или insert зависит от разности CurrentValue - OriginalValue и это у нас часто бывает. А предметно? Слабо себе представляю такой вариант развития событий. Bill Great Ведь кол-во sql запрсов в программе на несколько порядков больше чем объектов сервера? Эти sql запросы то же надо в объекты сервера превращать? Про анонимные типы прочитали уже? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 16:03 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Нахлобуч Bill Great Ведь кол-во sql запрсов в программе на несколько порядков больше чем объектов сервера? Эти sql запросы то же надо в объекты сервера превращать? Про анонимные типы прочитали уже? То есть все JOIN UNION и т.д. при помощи LINQ? То есть реестр устроен типа Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 16:09 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Bill Great То есть все JOIN UNION и т.д. при помощи LINQ? То есть реестр устроен типа Если Линк устраивает и справляется с запросами -- то все с его помошью, чего думать-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 16:13 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Bill Great зы ну во-первых, специально для вас предусмотрели возможность это отключить. Как ? свойство ObjectTrackingEnabled=false. Правда теряется и много всего другого, а datacontext превращается в обычную глупую читалку данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 16:22 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Нахлобуч Bill GreatПросто - делать update или insert зависит от разности CurrentValue - OriginalValue и это у нас часто бывает. А предметно? Слабо себе представляю такой вариант развития событий. мне конечно сложно домысливать, но я могу догадываться только что человек говорит об optimistic concurrency :) автору - существует версионность, если при сохранении объекта в базу локальная версия не совпадет с тем, что в базе, произойдет ошибка, которую вам предложат обработать, взяв чистую свежую версию из базы (заметьте, это будет сделано исключительно по необходимости, а не постоянно "просто так"), обновить её новыми полями и сохранить обратно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 16:26 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
зы свойство ObjectTrackingEnabled=false. Правда теряется и много всего другого, а datacontext превращается в обычную глупую читалку данных. И заодно мастер детальная связ разваливается - деталь просто не считывается! Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 16:35 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
зы[quot Нахлобуч][quot Bill Great]Просто - делать update или insert зависит от разности CurrentValue - OriginalValue и это у нас часто бывает. мне конечно сложно домысливать, но я могу догадываться только что человек говорит об optimistic concurrency :) автору - существует версионность, если при сохранении объекта в базу локальная версия не совпадет с тем, что в базе, произойдет ошибка, которую вам предложат обработать, взяв чистую свежую версию из базы (заметьте, это будет сделано исключительно по необходимости, а не постоянно "просто так"), обновить её новыми полями и сохранить обратно. Варианты много проще Редактируют приходную накладную, из строк с уменьшенным кол-вом надо сделать документ недосдачи, а из строк с увеличенным кол-вом доп приход. Часто из за constainrt в базе порядок сохранения разный в зависимости от CurrentValue - OriginalValue. Скажем в строке мастер вы указываете общее кол-во, а в детали раскидываете его по строкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 16:43 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Bill GreatВарианты много проще Редактируют приходную накладную, из строк с уменьшенным кол-вом надо сделать документ недосдачи, а из строк с увеличенным кол-вом доп приход. Часто из за constainrt в базе порядок сохранения разный в зависимости от CurrentValue - OriginalValue. Скажем в строке мастер вы указываете общее кол-во, а в детали раскидываете его по строкам. Либо я чего-то не понимаю, либо все это совершенно просто решается без знания предыдущего значения. В конце концов, никто не мешает клонировать объект для редактирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 16:45 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
по коду не понятно что там куда развалилось. Можешь попробовать попросить закачивать насильно через DataLoadOptions LoadWith(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 16:45 |
|
||
|
Info: Про LINQ -Мастер детальная связка дочитывание
|
|||
|---|---|---|---|
|
#18+
Bill Great зы свойство ObjectTrackingEnabled=false. Правда теряется и много всего другого, а datacontext превращается в обычную глупую читалку данных. И заодно мастер детальная связ разваливается - деталь просто не считывается! Код: plaintext 1. 2. 3. 4. 5. В случае master-detail отключать нельзя! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 16:46 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=35082111&tid=1352447]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 558ms |

| 0 / 0 |
