Ich benutze EF6 und finde etwas Seltsames.
Angenommen, der Kunde hat einen Konstruktor mit Parameter.
wenn ich benutze new Customer(id, "name")
und tue
using (var db = new EfContext("name=EfSample"))
{
db.Customers.Add( new Customer(id, "name") );
db.SaveChanges();
}
Es läuft fehlerfrei durch, aber wenn ich in die Datenbank schaue, stelle ich tatsächlich fest, dass die Daten NICHT eingefügt werden.
Aber wenn ich die geschweiften Klammern hinzufüge, benutze new Customer(id, "name"){}
und mache
using (var db = new EfContext("name=EfSample"))
{
db.Customers.Add( new Customer(id, "name"){} );
db.SaveChanges();
}
Die Daten werden dann tatsächlich eingefügt.
Anscheinend machen die geschweiften Klammern den Unterschied. Ich denke, dass das Entity Framework nur beim Hinzufügen von geschweiften Klammern erkennt, dass es sich um echte konkrete Daten handelt.