Par le passé, j'ai appris à utiliser DbSet<TEntity>.Create()
pour créer des objets d'entité à insérer. Cependant, j'ai trouvé juste en utilisant le constructeur par défaut avec un initialiseur d'objet semble fonctionner aussi bien.Création d'objets d'entité pour insertion dans Entity Framework 6
Ma principale question est de savoir si nous devons toujours utiliser DbSet<TEntity>.Create()
, et pourquoi? Question de bonus: Quelle est, le cas échéant, la différence fonctionnelle entre ces deux exemples de code?
« par le livre »:
Dim db As New EFDAL.WidgetDbEntities()
Dim dbWidgetBatch2 As EFDAL.WidgetBatch = db.WidgetBatches.Create()
dbWidgetBatch2.CreationTimestamp = Now
dbWidgetBatch2.CreatedByUsername = userName
db.WidgetBatches.Add(dbWidgetBatch2)
db.SaveChanges()
« fonctionne aussi bien? »:
Dim db As New EFDAL.WidgetDbEntities()
Dim dbWidgetBatch As New EFDAL.WidgetBatch With {
.CreationTimestamp = Now,
.CreatedByUsername = userName
}
db.WidgetBatches.Add(dbWidgetBatch)
db.SaveChanges()
en double de http://stackoverflow.com/questions/7311949/ramifications-of- dbset-create-versus-new-entity –
J'ai cherché, honnête! – pseudocoder