Size: a a a

.NET Chat Убежище

2017 September 06

NT

Nikita Tsukanov in .NET Chat Убежище
проблема решится
источник

AK

Andrei Kurosh in .NET Chat Убежище
он же мобильное приложение пилит, какой request scope?
источник

NT

Nikita Tsukanov in .NET Chat Убежище
вообще использовать энтити на мобилке находится в топ-100 дурацких затей, о которых я слышал
источник

NT

Nikita Tsukanov in .NET Chat Убежище
Andrei Kurosh
он же мобильное приложение пилит, какой request scope?
кнопку нажал - создал реквест на изменение
источник

NT

Nikita Tsukanov in .NET Chat Убежище
выполнил операцию
источник

NT

Nikita Tsukanov in .NET Chat Убежище
закрыл реквест
источник

NT

Nikita Tsukanov in .NET Chat Убежище
одна команда - один реквест
источник

NT

Nikita Tsukanov in .NET Chat Убежище
или одна форма - один реквест
источник

AK

Andrei Kurosh in .NET Chat Убежище
я с трудом себе это представляю, но думаю что ты знаешь о чем говоришь
источник

NT

Nikita Tsukanov in .NET Chat Убежище
ну по сути это выражается в оборачивании любых изменений в транзакции
источник

λ

λετучαя рыбα in .NET Chat Убежище
Nikita Tsukanov
вообще использовать энтити на мобилке находится в топ-100 дурацких затей, о которых я слышал
Вроде сами Microsoft рекомендуют юзать EF Core + Sqlite для мобайла. Да производительность не проседает на первый взгляд. Ладно.
источник

NK

ID:80538042 in .NET Chat Убежище
λετучαя рыбα
На using (var context = new EntityContext()) {} мб остановиться? Кто-нибудь так делает?
Когда мне нужно агрегировать данные с нескольких БД или наоборот, положить данные в несколько отдельных БД , то я так часто делаю. Т.е. достаю нужную информацию с первой, потом с этими данными иду во вторую и т.д. По нагрузке/оптимизации ничего сказать не могу, но работает.
источник

NK

ID:227931536 in .NET Chat Убежище
λετучαя рыбα
Вроде сами Microsoft рекомендуют юзать EF Core + Sqlite для мобайла. Да производительность не проседает на первый взгляд. Ладно.
В большенстве задач на мобиле и локальная база-то не нужна. Хватает обычной сериализации-десериализации во что нибудь.
Ну и энтити фреймворк кор тяжеловат по сравнению с шарповыми врапперами для sqlite
источник

NK

ID:80538042 in .NET Chat Убежище
Пример - в одной БД лежат данные по городам, в другой данные по проектам в этом городе - ну ТЗ такое было, в разных БД хранить. Если мне нужно сгенерить отчет по город-проекты, то сначала с первого контекста беру нужные данные , затем иду во второй , потом все это в некую ViewModel ложу
источник

NK

ID:80538042 in .NET Chat Убежище
Код выглядит достаточно понятно и красиво, но за корректность подхода ничего сказать не могу
источник

NK

ID:80538042 in .NET Chat Убежище
Естественно, поход в каждый контекст делаю через using (...)
источник

λ

λετучαя рыбα in .NET Chat Убежище
Вообще, в Autofac есть экстеншн — .InstancePerLifetimeScope(). Так как логика каждого View представлена отдельной ViewModel, думаю, можно для каждой вьюмодели создавать новый LifetimeScope — и ресолвить эту вьюмодель из этой новой LifetimeScope. Тогда мы получим, что все зависимости, и зависимости зависимостей, инжектируемые в эту ViewModel, будут делить между собой инстансы друг друга.
источник

λ

λετучαя рыбα in .NET Chat Убежище
В том числе контекст. А новые LifetimeScope создавать фабричными свойствами в ViewModelLocator.
источник

λ

λετучαя рыбα in .NET Chat Убежище
С другой стороны, это тоже выглядит как костыль, призванный заставить EntityFramework работать.
источник

β🎀

βλαδιμιρ 🎀 🌎🔫 in .NET Chat Убежище
что мешает сделать фабрику
источник