powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Info: Про LINQ -Мастер детальная связка дочитывание
25 сообщений из 39, страница 1 из 2
Info: Про LINQ -Мастер детальная связка дочитывание
    #35081713
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем! Если в профайлере посмотреть как ведёт себя мастердетальная связка из примеров то детальная часть допочитывается по мере движения по мастеру вниз, если вернуться вверх к пройденным, то запроса на сервер не производится.
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35081740
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill GreatПривет всем! Если в профайлере посмотреть как ведёт себя мастердетальная связка из примеров то детальная часть допочитывается по мере движения по мастеру вниз, если вернуться вверх к пройденным, то запроса на сервер не производится.
deffered loading называется, это типа Lazy fetch грекси, но он не захотел это признать.
Но нифига хорошего тоже нет, надо постояннно refresh делать в случае чего. Вобщем, нет этой чертовой пули. :( Все ручкми, только время теряешь на все эти ОРМ и всякое говно.
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35081879
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот гавном попрошу не кидаться, лучше ковыряйтесь в своем дальше ручками и никого не пачкайте.
почитайте про рекомендации по использованию DataContext, не надо класть его в сессию или свой синглтон и пользоваться им до потери пульса.

что хотел сказать автор я не понял, то-ли он очень обрадовался и захотел со всеми поделиться, то-ли ещё что
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082024
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зывот гавном попрошу не кидаться, лучше ковыряйтесь в своем дальше ручками и никого не пачкайте.
почитайте про рекомендации по использованию DataContext, не надо класть его в сессию или свой синглтон и пользоваться им до потери пульса.

что хотел сказать автор я не понял, то-ли он очень обрадовался и захотел со всеми поделиться, то-ли ещё что
Народ уже выжил из ума видать со своими обертками. Дообертывались до того , что уже суть потеряли.
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082057
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
Народ уже выжил из ума видать со своими обертками. Дообертывались до того , что уже суть потеряли.
у вас какие-то проблемы с выражением собственных мыслей? хотите сказать, но получается, как вы говорите, "гавно"? постарайтесь не утруждать себя больше подобной водичкой
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082111
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы Сахават Юсифов
Народ уже выжил из ума видать со своими обертками. Дообертывались до того , что уже суть потеряли.
у вас какие-то проблемы с выражением собственных мыслей? хотите сказать, но получается, как вы говорите, "гавно"? постарайтесь не утруждать себя больше подобной водичкой
Моти мысли я сказал, а е вы тут дергаетесь, не понимаю. Я сказал, что принудительное кеширование без спроса не есть хорошо. Если я обращаюсь к данным повторно, то скорее всего я хочу актуальные данные, а не устаревшене говно. Есть чего сказать?
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082246
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
Моти мысли я сказал, а е вы тут дергаетесь

зачем же так нервничать, аж вижу что пальцы трясутся.

Сахават Юсифов
Я сказал, что принудительное кеширование без спроса не есть хорошо. Если я обращаюсь к данным повторно, то скорее всего я хочу актуальные данные, а не устаревшене говно. Есть чего сказать?
ну во-первых, специально для вас предусмотрели возможность это отключить. Во вторых, это называется identity cache, кеш первого уровня. Если придерживаться простой логики и писать код, а не "говно", то ничего плохого в таком кеше нет, одни только плюсы. В течении вашей сессии работы с данными, данные как правило меняются исключительно вами. Устареть они могут, если держать их там пару часов, что видимо и соответствует архитектуре вашего "говно-кода". Удачи в начинаниях.
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082289
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы
что хотел сказать автор я не понял, то-ли он очень обрадовался и захотел со всеми поделиться, то-ли ещё что
Автор хотел обратить внимание на неочевидный способ кэширования, который програмер не управляет. Это очень не хорошо!
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082297
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы
...


Откуда блин сколько вампиров развелось.
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082299
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill GreatАвтор хотел обратить внимание на неочевидный способ кэширования, который програмер не управляет. Это очень не хорошо!
Сказали же, что это Identity Map
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082300
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы
ну во-первых, специально для вас предусмотрели возможность это отключить.

Как ?
зы
Во вторых, это называется identity cache, кеш первого уровня. Если придерживаться простой логики то ничего плохого в таком кеше нет, одни только плюсы. В течении вашей сессии работы с данными, данные как правило меняются исключительно вами.
Минус очевидны - я не могу прочитать originalValue у записи, доступен только Current!
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082318
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill GreatМинус очевидны - я не могу прочитать originalValue у записи, доступен только Current!
Вот ведь мозг вам извратили датасеты эти... Меняйте образ мышления.
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082351
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобуч
Вот ведь мозг вам извратили датасеты эти... Меняйте образ мышления.
Рад бы да база так устроена!
Кстати как вы думаете предполагает ли LINQ что рядом с ним будут использованы обычные DataSet? Ведь кол-во sql запрсов в программе на несколько порядков больше чем объектов сервера? Эти sql запросы то же надо в объекты сервера превращать? Это было бы очень плохо!
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082385
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill GreatРад бы да база так устроена!
Как устроена? Каким боком OriginalValue соотносится с базой?
Bill Great
Кстати как вы думаете предполагает ли LINQ что рядом с ним будут использованы обычные DataSet? Ведь кол-во sql запрсов в программе на несколько порядков больше чем объектов сервера? Эти sql запросы то же надо в объекты сервера превращать? Это было бы очень плохо!
Оставьте уже эти ваши домыслы. Ничем не подкрепленные "Очень плохо" и "очень хорошо" -- это детский сад. Вы попробуйте почитать документацию (про те же анонимные типы, например), поработать с линком и ORM'ами, а потом аргументированно докажите, что такое хорошо, а что такое плохо.
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082404
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобуч
Как устроена? Каким боком OriginalValue соотносится с базой?

Просто - делать update или insert зависит от разности CurrentValue - OriginalValue и это у нас часто бывает.
Повтроряю главный вопрос

Кстати как вы думаете предполагает ли LINQ что рядом с ним будут использованы обычные DataSet? Ведь кол-во sql запрсов в программе на несколько порядков больше чем объектов сервера? Эти sql запросы то же надо в объекты сервера превращать?
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082413
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill GreatПросто - делать update или insert зависит от разности CurrentValue - OriginalValue и это у нас часто бывает.
А предметно? Слабо себе представляю такой вариант развития событий.
Bill Great
Ведь кол-во sql запрсов в программе на несколько порядков больше чем объектов сервера? Эти sql запросы то же надо в объекты сервера превращать?
Про анонимные типы прочитали уже?
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082454
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобуч
Bill Great
Ведь кол-во sql запрсов в программе на несколько порядков больше чем объектов сервера? Эти sql запросы то же надо в объекты сервера превращать?
Про анонимные типы прочитали уже?
То есть все JOIN UNION и т.д. при помощи LINQ? То есть реестр устроен типа

Код: plaintext
1.
2.
3.
4.
5.
6.
 var q =
        from c in db.Customers
        join o in db.Orders on c.CustomerID equals o.CustomerID into ords
        join e in db.Employees on c.City equals e.City into emps
        select new {c.ContactName, ords=ords.Count(), emps=emps.Count()};

bindinsource.DataSource = q;
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082473
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill Great
То есть все JOIN UNION и т.д. при помощи LINQ? То есть реестр устроен типа
Если Линк устраивает и справляется с запросами -- то все с его помошью, чего думать-то?
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082500
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill Great зы
ну во-первых, специально для вас предусмотрели возможность это отключить.

Как ?

свойство ObjectTrackingEnabled=false. Правда теряется и много всего другого, а datacontext превращается в обычную глупую читалку данных.
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082513
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобуч Bill GreatПросто - делать update или insert зависит от разности CurrentValue - OriginalValue и это у нас часто бывает.
А предметно? Слабо себе представляю такой вариант развития событий.

мне конечно сложно домысливать, но я могу догадываться только что человек говорит об optimistic concurrency :)
автору - существует версионность, если при сохранении объекта в базу локальная версия не совпадет с тем, что в базе, произойдет ошибка, которую вам предложат обработать, взяв чистую свежую версию из базы (заметьте, это будет сделано исключительно по необходимости, а не постоянно "просто так"), обновить её новыми полями и сохранить обратно.
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082551
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы
свойство ObjectTrackingEnabled=false. Правда теряется и много всего другого, а datacontext превращается в обычную глупую читалку данных.
И заодно мастер детальная связ разваливается - деталь просто не считывается!

Код: plaintext
1.
2.
3.
4.
5.
            db = new Northwind(Program.connString);
            db.ObjectTrackingEnabled = false;// Если эту строку убрать деталь считывается!
            MasterbindingSource.DataSource = db.Orders;
            DetailbindingSource.DataSource = MasterbindingSource;
            DetailbindingSource.DataMember =  Order_Details
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082589
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы[quot Нахлобуч][quot Bill Great]Просто - делать update или insert зависит от разности CurrentValue - OriginalValue и это у нас часто бывает.
мне конечно сложно домысливать, но я могу догадываться только что человек говорит об optimistic concurrency :) автору - существует версионность, если при сохранении объекта в базу локальная версия не совпадет с тем, что в базе, произойдет ошибка, которую вам предложат обработать, взяв чистую свежую версию из базы (заметьте, это будет сделано исключительно по необходимости, а не постоянно "просто так"), обновить её новыми полями и сохранить обратно.
Варианты много проще
Редактируют приходную накладную, из строк с уменьшенным кол-вом надо сделать документ недосдачи, а из строк с увеличенным кол-вом доп приход.

Часто из за constainrt в базе порядок сохранения разный в зависимости от CurrentValue - OriginalValue. Скажем в строке мастер вы указываете общее кол-во, а в детали раскидываете его по строкам.
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082600
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill GreatВарианты много проще
Редактируют приходную накладную, из строк с уменьшенным кол-вом надо сделать документ недосдачи, а из строк с увеличенным кол-вом доп приход.

Часто из за constainrt в базе порядок сохранения разный в зависимости от CurrentValue - OriginalValue. Скажем в строке мастер вы указываете общее кол-во, а в детали раскидываете его по строкам.

Либо я чего-то не понимаю, либо все это совершенно просто решается без знания предыдущего значения.

В конце концов, никто не мешает клонировать объект для редактирования.
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082604
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по коду не понятно что там куда развалилось. Можешь попробовать попросить закачивать насильно через DataLoadOptions LoadWith().
...
Рейтинг: 0 / 0
Info: Про LINQ -Мастер детальная связка дочитывание
    #35082608
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bill Great зы
свойство ObjectTrackingEnabled=false. Правда теряется и много всего другого, а datacontext превращается в обычную глупую читалку данных.
И заодно мастер детальная связ разваливается - деталь просто не считывается!

Код: plaintext
1.
2.
3.
4.
5.
            db = new Northwind(Program.connString);
            db.ObjectTrackingEnabled = false;// Если эту строку убрать деталь считывается!
            MasterbindingSource.DataSource = db.Orders;
            DetailbindingSource.DataSource = MasterbindingSource;
            DetailbindingSource.DataMember =  Order_Details

В случае master-detail отключать нельзя!
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Info: Про LINQ -Мастер детальная связка дочитывание
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]