Как заставить Платформу Объекта и MVVM играть приятно вместе?

Я, хотел бы использовать и EF и MVVM и пытаюсь видеть, как они совмещаются. Я не могу найти много в способе примеров так надеются Вы, парни могут ответить на несколько вопросов.

Скажем, у меня есть единственная таблица в базе данных под названием Клиент. Я выполняю разработчика EF и получаю модель данных.

Следующий шаг должен выполнить некоторый linq для вытаскивания данных из модели данных. Давайте создадим новый класс под названием CustomerRepository, чтобы сделать это.

Теперь я предполагаю, что Модель назвала бы CustomerRepository. GetCustomers для получения списка клиентов.

Вот мой вопрос - CustomerModel имеет список потребительских объектов, которые были определены EF в модели данных. Как я добавляю атрибуты проверки или какой-либо вид проверки к нему?

Просто, кажется, существует что-то вроде разъединения между EF и MVVM. Я уверен, что некоторые из Вас поразили это прежде - какие-либо идеи? Какие-либо лучшие способы приблизиться к этому?

Аплодисменты

Steve

12
задан Steve Chadbourne 2 January 2010 в 01:12
поделиться

1 ответ

Валидация, бизнес-правила, представление объекта Customer должны жить в ViewModel, которая будет служить контроллером или ведущим для вашего вида.

Что касается создания этой ViewModel, то у вас есть пара вариантов:

  1. Включить Model как свойство ВМ, и передать экземпляр модели в конструктор ВМ. Затем вы можете раскрыть свойства клиента и просто передать их в соответствующие свойства модели.
  2. Generate a ViewModel using T4 templates and Reflection (или предпочтительнее Introspection), чтобы "прочитать" модель, и сгенерировать свойства, которые будут отображаться непосредственно на ней.

Теперь вы можете добавить пользовательские правила проверки в ВМ, так что при отправке соответствующей команды из вида вы можете выполнять свои бизнес-правила, и при необходимости вы можете обновить Модель, используя API EF, чтобы сохранить эти изменения обратно в базу данных...

.
4
ответ дан 2 December 2019 в 23:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: