Entity Framework CTP5 Code First, WPF - моделирование MVVM

Моя модель полностью настроена для моего приложения WPF, и сначала я работаю с кодом ctp5 entity framework, вот образец класса модели:

public class Task
{
    public int ID { get; set; }
    public int Index { get; set; }
    public string Content { get; set; }
    public int Indentation { get; set; }
    public DateTime Start { get; set; }
    public decimal Effort { get; set; }
    public decimal CompletedEffort { get; set; }
    public decimal Cost { get; set; }
}

Каким будет рекомендуемый способ построения моей модели представления? Мои модели представления будут реализовывать INotifyPropertyChanged, я не хочу, чтобы классы моделей имели какой-либо конкретный код пользовательского интерфейса, чтобы их можно было легко повторно использовать в других приложениях. Должен ли я сделать все свойства модели виртуальными, а затем переопределить их в модели представления? (кажется, много ненужного кода ...) Будет ли код EF хорошо работать с этим типом формата?

Изменить Это в чем-то похожий вопрос В MVVM должна ли ViewModel или Model реализовывать INotifyPropertyChanged? однако единственные решения, похоже, заключаются в добавлении в модель того, что я считаю логикой пользовательского интерфейса. Возможно, я могу добавить в модель какой-то делегат и подключиться к нему из модели просмотра, которая, в свою очередь, будет использовать INotifyPropertyChanged ... что-то вроде этого?

    public class Task
    {
        public delegate void HandleChange(string propertyName);
        public HandleChange ChangeHandler;

        public int ID 
        { 
            get
            {
                return ID;
            } 
            set
            {
                if(ID != value)
                {
                    ID = value;
                    ChangeHandler("ID");
                }
            }
        }
...

5
задан Community 23 May 2017 в 10:31
поделиться