Я играю с Entity Framework 4.3, поэтому я использую генератор DbContext для создания классов контекста и сущности.
С шаблоном генератора кода EF 4 по умолчанию, классы объектов реализуют INotifyPropertyChanged, а также добавляют частичные методы Changing
и Changed
в средствах настройки свойств.
Когда я использую генератор EF 4.x DbContext, как показано на рисунке ниже, классы сущностей намного легче и не включают никаких средств отслеживания изменений свойств.
Вот пример:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
namespace SomeNamespace
{
public partial class SomeTable
{
public SomeTable()
{
this.Children = new HashSet<Child>();
}
public long parent_id { get; set; }
public long id { get; set; }
public string filename { get; set; }
public byte[] file_blob { get; set; }
public virtual Parent Parent { get; set; }
public virtual ICollection<Child> Children { get; set; }
}
}
Мне не хватает важной части головоломки, но мои поиски были бесплодны. Поэтому мой вопрос: как я могу сгенерировать типы включенных уведомлений об изменении свойств с помощью EF 4.3?
Edit
Я полностью согласен с ответом @derape; но мне любопытно, почему мне нужно будет изменить файл .tt
, когда в шаблоне генерации кода EF 4 уже есть крючки. Я имею в виду, что связано с привязкой к WPF DependencyProperty
'? Без INotifyPropertyChanged изменения, внесенные командой в кучу свойств в связке объектов, не будут отображаться в пользовательском интерфейсе. Что мне не хватает?