Jak uzyskać powiadomienia o zmianie właściwości za pomocą generatora EF 4.x DbContext
Bawię się z Entity Framework 4.3, więc używam Generatora DbContext do tworzenia klas kontekstu i encji.
Z domyślnym szablonem generatora kodu EF 4 klasy encji implementują INotifyPropertyChanged, a także dodająChanging
iChanged
częściowe metody w ustawieniach właściwości.
Kiedy korzystam z generatora DbContext EF 4.x, jak pokazano poniżej, klasy encji są znacznie lżejsze i nie zawierają żadnych środków śledzenia zmian właściwości.
Oto przykład:
//------------------------------------------------------------------------------
// <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; }
}
}
Brakuje mi ważnej części układanki, ale moje poszukiwania były bezowocne. Więc moje pytanie brzmi: jak mogę wygenerować typy zawierające powiadomienia o zmianie właściwości z EF 4.3?
Edytować
W pełni zgadzam się z odpowiedzią @derape; ale jestem ciekawy, dlaczego musiałbym zmienić.tt
plik, gdy domyślny szablon generowania kodu EF 4już ma haczyki. Mam na myśli to, co przy wiązaniu do WPFDependencyProperty
? Bez INotifyPropertyChanged zmiany wprowadzone przez komendę do wiązki właściwości w wielu obiektach nie zostaną odzwierciedlone w interfejsie użytkownika. czego mi brakuje?