So erhalten Sie Benachrichtigungen zu Eigenschaftsänderungen mit dem DbContext-Generator von EF 4.x.

Ich spiele mit Entity Framework 4.3 herum und benutze daher den DbContext Generator, um den Kontext und die Entitätsklassen zu erstellen.

Mit der Standardvorlage für den EF 4-Codegenerator implementieren Entitätsklassen INotifyPropertyChanged und fügen diese hinzuChanging undChanged Teilmethoden in Eigenschaftssetzern.

Wenn ich den DbContext-Generator EF 4.x verwende (siehe Abbildung unten), sind die Entitätsklassen viel leichter und enthalten keine Mittel zum Nachverfolgen von Eigenschaftsänderungen.

Hier ist ein Beispiel:

//------------------------------------------------------------------------------
// <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; }
    }
}

Ich muss ein wichtiges Puzzleteil übersehen haben, aber meine Suche war erfolglos. Meine Frage lautet also: Wie kann ich mit EF 4.3 Typen generieren lassen, die Benachrichtigungen über Eigenschaftsänderungen enthalten?

Bearbeiten

Ich stimme der Antwort von @derape voll und ganz zu. aber ich bin gespannt, warum ich das ändern müsste.tt Datei, wenn die EF 4 Standard-Codegenerierungsvorlagebereits hat die Haken. Ich meine, was ist mit dem Binden an eine WPF?DependencyProperty'? Ohne INotifyPropertyChanged werden Änderungen, die von einem Befehl an einer Reihe von Eigenschaften in einer Reihe von Objekten vorgenommen wurden, nicht in der Benutzeroberfläche wiedergegeben. Was vermisse ich?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage