J'utilise EF6 et je trouve quelque chose d'étrange,
Supposons que le client ait un constructeur avec un paramètre,
si j'utilise new Customer(id, "name")
et fais
using (var db = new EfContext("name=EfSample"))
{
db.Customers.Add( new Customer(id, "name") );
db.SaveChanges();
}
Il fonctionne sans erreur, mais quand je regarde dans la base de données, je constate en fait que les données ne sont PAS insérées,
Mais si j'ajoute les accolades, utilisez new Customer(id, "name"){}
et faites
using (var db = new EfContext("name=EfSample"))
{
db.Customers.Add( new Customer(id, "name"){} );
db.SaveChanges();
}
les données seront alors effectivement insérées,
semble que les Brackets Curly font la différence, je suppose que ce n'est que lorsque vous ajoutez des Brackets Curly que le framework d'entité reconnaîtra qu'il s'agit d'une vraie donnée concrète.