Использование LINQ to Entity с результатами MVVM - PullRequest
1 голос
/ 11 марта 2010

Я начинаю работать с Entity Framework, используя EF4 в VS 2010 RC. До сих пор я создал несколько простых консольных приложений, в которых я создал EDM, запросил его с помощью LINQ to Entities и вывел результаты на консоль.

Сейчас я создаю демонстрационное приложение WPF, чтобы узнать, как интегрировать EF4 с WPF. Я использую MVVM в своих приложениях WPF, где каждое представление (более или менее) имеет модель представления, которая включает свойства данных, с которыми связаны элементы управления. Например, мое демонстрационное приложение WPF имеет свойство Customers в модели представления, к которому привязан раскрывающийся список. И, как вы уже догадались, мой EDM содержит сущность Customer.

Вот мой вопрос: как связать результаты LINQ to Entities со свойством модели представления? Когда я выполняю запрос к моей сущности Customer, кажется, что я получаю обратно IQueryable<Customer>. Но мое свойство модели представления имеет тип ObservableCollection<Customer>, который мне нужен для работы привязок данных. Итак, как мне добраться от IQueryable<Customer> до ObservableCollection<Customer>? Спасибо за вашу помощь.

1 Ответ

2 голосов
/ 11 марта 2010

Согласно MSDN , конструктор ObservableCollection может принимать List<T> или IEnumerable<T>. Давайте предположим, что queryable это ваш IQueryable<Customer>:

ObservableCollection<Customer> ocCustomer = new ObservableCollection<Customer>(queryable.ToList());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...