С Caliburn.Micro Я хотел бы знать плюсы и минусы представления сущности EF4 как свойства ViewModel (методика, обсуждаемая здесь и здесь).
IЯ не уверен в плюсах / минусах, но могу сказать, что используются оба метода.Например, возьмем простой экран входа в систему, обычно я помещаю UserName свойство в ViewModel, но в случаях, когда форма более сложна, ViewModel может объединять другие ViewModels (модели отображения) для достижения той же цели.CM не сильно влияет на плюсы / минусы, так как вопрос в MVVM - каковы плюсы / минусы.CM поможет вам в привязке к обоим.
- Если у вас есть свойство в ViewModel с именем CustomerName, просто назовите TextBox x: name = "CustomerName".
- Еслиу вас есть свойство в ViewModel, которое является экземпляром класса с именем Customer, назовите TextBox x: name = "Customer_Name" и снова, CM будет обрабатывать привязки.
Итак, из вашего xaml выше:
<TextBox x:Name="LastName" Text="{Binding LastName}" />
вам не нужно устанавливать DataContext на StackPanel.Вместо этого:
<TextBox x:Name="OneCustomer_LastName"/>
Одна вещь, которая может упростить привязку к DataForms и DataGrids, - это метод, при котором вы создаете модели отображения для способа представления данных на экране.
ЭтоМоё мнение, но я лично никогда не буду связываться напрямую с EF / Linq.Вместо этого я создам модель отображения для представления этой сущности и того, как я хочу, чтобы она отображалась, и использую AutoMapper для сопоставления.Во многих случаях это сопоставление один к одному.Это может показаться пустой тратой времени, но у него есть преимущества, особенно в случае более сложных макетов моделей данных: модели отображения позволяют выравнивать данные для целей отображения и настраивать свойства для проверки, не привязывая их к объекту модели данных.Подробнее об этом читайте в главе ASP.NET MVC в действии книга.