powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Связь один к одному EF Code First
25 сообщений из 357, страница 14 из 15
Связь один к одному EF Code First
    #38801933
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAОкей. А теперь представь, что вы перешли на Redis. Следовательно другие потоки обновили в нём данные.

EF поймёт это в случае с проекциями? Или тебе надо попробовать?

Поймёт, если кеш реализован правильно. В случае не-Memory, а, например, Redis, не могу пока ответить на эти вопросы. Опыта пока соответствующего нет.

skyANAХотя если у вас один сервер, то должно работать и с Memory. При чём тут другие потоки, если всё в рамках одного пула?

Один, другие потоки в смысле, другие пользователи параллельно сделали изменения, проекцию всегда надо брать из одного источника (считая кеш 2 уровня).
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38801934
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТак что отмаза не катит :)

Чего, какие отмазы?
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38801943
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAТак что отмаза не катит :)

Чего, какие отмазы? Ну ты пишешь: "за это время могут быть ещё и другие изменения (другими потоками например), которые следует учесть".

При этом у вас кэш второго уровня в памяти, зачем что-то учитывать, если EF это разруливает? Или таки не разруливает? :)
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38801949
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНу ты пишешь: "за это время могут быть ещё и другие изменения (другими потоками например), которые следует учесть".

При этом у вас кэш второго уровня в памяти, зачем что-то учитывать, если EF это разруливает? Или таки не разруливает? :)

Ты взял Entity, изменил его, сохранил.

Затем взял проекцию EntitySomeDto, которая может (и скорее всего будет) включать данные из других зависимых таблиц. Про изменения в них EF ничего не знает в рамках контекста. Никто ничего не разруливает, если данные, попадающие в проекцию есть в кеше, то запроса к базе данных не будет. Это сильно зависит от реализации кеша, так как EF его не реализует.
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38801958
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЭто сильно зависит от реализации кеша, так как EF его не реализует.То есть кэш-таки надо самому реализовывать под свои нужды?
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38801984
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhVosttЭто сильно зависит от реализации кеша, так как EF его не реализует.То есть кэш-таки надо самому реализовывать под свои нужды?

А кто это сделает за тебя, если никто кроме тебя твоих нужд не знает?

Но https://efcache.codeplex.com/ хорошая основа. Не исключено, что появятся обобщённые решения под редиску и другие шутки.
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802030
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAпропущено...
То есть кэш-таки надо самому реализовывать под свои нужды?

А кто это сделает за тебя, если никто кроме тебя твоих нужд не знает?Вооот!

И так посмотришь на EF: того, что мне нужно нет, сего. И проще взять dapper и дописать к нему всё, что тебе нужно.
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802042
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВооот!

И так посмотришь на EF: того, что мне нужно нет, сего. И проще взять dapper и дописать к нему всё, что тебе нужно.

Возможно. Только надо не смотреть на него, а пользоваться им, затем делать утверждения исходя из опыта, а не каких-то ощущений. А же если не собираешься пользоваться, то и смотреть не надо, просто игнорь.
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802047
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAВооот!

И так посмотришь на EF: того, что мне нужно нет, сего. И проще взять dapper и дописать к нему всё, что тебе нужно.

Возможно. Только надо не смотреть на него, а пользоваться им, затем делать утверждения исходя из опыта, а не каких-то ощущений. А же если не собираешься пользоваться, то и смотреть не надо, просто игнорь. У нас исторически NHibernate. Наелись им.

В каких-то местах уже используем dapper, и знаешь, полностью устраивает :)
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802054
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAУ нас исторически NHibernate. Наелись им.

Фу-фу-фу, бяка. У нас тоже он есть местами, исторически.

skyANAВ каких-то местах уже используем dapper, и знаешь, полностью устраивает :)

А нас EF вполне даже устраивает
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802389
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAhVostt, да всё тоже. Инструмент выбирается под задачу, возможно Парамону в конкретно его задаче dapper подойдёт лучше, чем EF.

Да понятно. Но твоё замечание «уделывает по скорости» несколько нелепо. Их нельзя сравнивать по скорости, ибо объём работы который выполняется в Dapper и EF различается конкретно. Если уж на то, то любой кавказец на шестёрочке «уделает» любого олипийца на велики, ведь Кавказ -- сила!
руки прочь от кавказа! кавказ не трошь!!!
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802534
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosруки прочь от кавказа! кавказ не трошь!!!

Дык
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802786
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА насчет ORM: известно, что dapper уделывает EF по скорости, и возможно под задачи Парамона лучше подойдет он, чем EF.
Когда EF станет у нас бутылочным горлышком, то будем думать, а пока что свою работу делает )
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802855
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAА насчет ORM: известно, что dapper уделывает EF по скорости, и возможно под задачи Парамона лучше подойдет он, чем EF.
Когда EF станет у нас бутылочным горлышком, то будем думать, а пока что свою работу делает )Ну меня это мало интересует :)
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802868
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПарамонпропущено...

Когда EF станет у нас бутылочным горлышком, то будем думать, а пока что свою работу делает )Ну меня это мало интересует :)
А показалось, что ты мне что-то предлогал )
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802873
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAпропущено...
Ну меня это мало интересует :)
А показалось, что ты мне что-то предлогал )Даже если и предлагал, то это не значит, что мне интересны ваши горлышки.
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802877
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПарамонпропущено...

А показалось, что ты мне что-то предлогал )Даже если и предлагал, то это не значит, что мне интересны ваши горлышки.
Горлышки, хе, с понятием Bottleneck в программной архитектуре ты не знаком )
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38802940
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAпропущено...
Даже если и предлагал, то это не значит, что мне интересны ваши горлышки.
Горлышки, хе, с понятием Bottleneck в программной архитектуре ты не знаком )Просвети, желательно с конкретными метриками.
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38803165
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПросвети, желательно с конкретными метриками.

Троллинг моде он
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38803241
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAПросвети, желательно с конкретными метриками.

Троллинг моде он Со стороны Пармона, да. А мне же реально интересно, даже тема для этого была создана: " Производительность приложений. Мониторинг и профилирование. ".

Глядишь, может парень какими-то ценными знаниями поделится. :)
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38803330
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПарамонпропущено...

Горлышки, хе, с понятием Bottleneck в программной архитектуре ты не знаком )Просвети, желательно с конкретными метриками.
раз гугель в бане, я начну с простых иллюстраций
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38803353
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAпропущено...
Просвети, желательно с конкретными метриками.
раз гугель в бане, я начну с простых иллюстраций Фиговое начало, картинка не отображается.
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38803370
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПарамонпропущено...

раз гугель в бане, я начну с простых иллюстраций Фиговое начало, картинка не отображается.
хе, в FF глянь. Чо-то хрон все хуже )



...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38803396
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAпропущено...
Фиговое начало, картинка не отображается.
хе, в FF глянь. Чо-то хрон все хуже )



О, ты про это. Да я в этом эксперт. Так что проходи мимо, тролололь!
...
Рейтинг: 0 / 0
Связь один к одному EF Code First
    #38804253
Gluck_13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВ реальности бывают и простые объекты и сложные.

Вот нужно будет тебе 100 карточек через Web API отдать наружу, ты получается 200 запросов к БД вместо 100 будешь посылать даже если чётко представляешь, что "жадная загрузка" не представляет из себя избыточный SELECT?

Ну и опять какие-то левые слова пошли :) Что такое чертежи?

Хуже, когда нужно достать из БД N карточек, подпадающих под определенное условие, с включением M навигационных свойств.

Тогда при использовании Include будет сделан 1 (но, возможно, сложный) SQL-запрос.
При Lazy loading будет выполнено 1 + N*M запросов.

Если предполагается включить большое количество навигационных свойств (особенно коллекций) и запрос получается слишком громоздкий, то его можно разбить на несколько с разными инклюдами (на сколько именно и каких решаем при помощи SQL-профайлера и здравого смысла) и выполнить их последовательно с MergeOption.AppendOnly. В данном случае будет фиксированное кол-во запросов, не зависящее от числа возвращенных карточек.

Также никто не запрещает комбинировать Eager и Lazy loading. Например, когда заранее неизвестно, какие именно навигационные свойства потребуются. В этом случае может иметь смысл "жадно" загрузить те навигационные свойства, которые потребуются с большей вероятностью, и "лениво" подгружать остальные.
...
Рейтинг: 0 / 0
25 сообщений из 357, страница 14 из 15
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Связь один к одному EF Code First
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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