Używam EF6 i znajduję coś dziwnego,
Załóżmy, że Klient ma konstruktora z parametrem,
jeśli używam new Customer(id, "name")i robię
using (var db = new EfContext("name=EfSample"))
{
db.Customers.Add( new Customer(id, "name") );
db.SaveChanges();
}
Działa bezbłędnie, ale kiedy zaglądam do bazy danych, okazuje się, że dane NIE SĄ wstawiane,
Ale jeśli dodam nawiasy klamrowe, użyj new Customer(id, "name"){}i zrób
using (var db = new EfContext("name=EfSample"))
{
db.Customers.Add( new Customer(id, "name"){} );
db.SaveChanges();
}
dane zostaną wtedy faktycznie wprowadzone,
wydaje się, że nawiasy klamrowe robią różnicę, myślę, że tylko po dodaniu nawiasów klamrowych struktura encji rozpozna, że są to prawdziwe konkretne dane.