Асинхронное программирование с Entity Framework - PullRequest
2 голосов
/ 09 июля 2009

Я разрабатываю приложение WPF, которое взаимодействует с базой данных через Entity Framework, и у меня возникают огромные проблемы, пытающиеся обеспечить адаптацию приложения. DataContext не является потокобезопасным, поэтому вы не можете получить доступ к данным из фоновых потоков. Вы не можете передавать объекты между DataContexts из-за отслеживания объекта (я пробовал в течение 3 недель ... это всегда вроде работает, но никогда не во всех случаях).

Все, что я хочу сделать - это поддерживать отзывчивость моего приложения во время доступа к данным. Какие шаблоны вы использовали в Entity Framework для достижения этой цели?

Спасибо,
Рой

1 Ответ

0 голосов
/ 09 июля 2009

EF еще не реализует отложенную загрузку (или, по крайней мере, не очень хорошо), так что это может быть частью вашей проблемы с производительностью. Из-за этого пострадают многоуровневые запросы (запросы поверх запросов).

Звучит так, будто вы пытаетесь сделать с ним довольно сложные вещи. Попробуйте больше думать с точки зрения транзакций, то есть Select, Update, Commit; New, Insert, Commit; и выберите, удалить, зафиксировать.

В любом заданном репозитории или потоке всегда работайте только с одним DataContext. Передача объектов в контексте данных, как вы выяснили, трудна. Но это должен быть бриз в том же контексте данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...