EntityCollection<TEntity>.Add(TEntity) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ajoute un objet à la collection.
public:
virtual void Add(TEntity entity);
public void Add (TEntity entity);
override this.Add : 'Entity -> unit
Public Sub Add (entity As TEntity)
Paramètres
- entity
- TEntity
Objet à ajouter à la collection.
entity
doit implémenter IEntityWithRelationships.
Implémente
Exceptions
entity
a la valeur null
.
Exemples
Cet exemple est basé sur le modèle de vente Adventure Works Sales Model. Pour exécuter le code de cet exemple, vous devez déjà avoir ajouté le modèle de vente AdventureWorks Sales Model à votre projet et configuré ce dernier pour qu’il utilise Entity Framework. Pour ce faire, suivez les procédures décrites dans Guide pratique pour configurer manuellement un projet Entity Framework et Guide pratique pour définir manuellement les fichiers de modèle et de mappage.
Cet exemple crée deux nouvelles entités SalesOrderHeader
, les ajoute à l'entité Contact
et, après avoir supprimé un objet, utilise la méthode Add pour rajouter l'objet à la collection.
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
Contact contact = new Contact();
// Create a new SalesOrderHeader.
SalesOrderHeader newSalesOrder1 = new SalesOrderHeader();
// Add SalesOrderHeader to the Contact.
contact.SalesOrderHeaders.Add(newSalesOrder1);
// Create another SalesOrderHeader.
SalesOrderHeader newSalesOrder2 = new SalesOrderHeader();
// Add SalesOrderHeader to the Contact.
contact.SalesOrderHeaders.Add(newSalesOrder2);
// Get all related ends
IEnumerable<IRelatedEnd> relEnds =
((IEntityWithRelationships)contact)
.RelationshipManager.GetAllRelatedEnds();
foreach (IRelatedEnd relEnd in relEnds)
{
// Get Entity Collection from related end
EntityCollection<SalesOrderHeader> entityCollection =
(EntityCollection<SalesOrderHeader>)relEnd;
Console.WriteLine("EntityCollection count: {0}",
entityCollection.Count);
// Remove the first entity object.
entityCollection.Remove(newSalesOrder1);
bool contains = entityCollection.Contains(newSalesOrder1);
// Write the number of items after one entity has been removed
Console.WriteLine("EntityCollection count after one entity has been removed: {0}",
entityCollection.Count);
if (contains == false)
Console.WriteLine("The removed entity is not in in the collection any more.");
//Use IRelatedEnd to add the entity back.
relEnd.Add(newSalesOrder1);
Console.WriteLine("EntityCollection count after an entity has been added again: {0}",
entityCollection.Count);
}
}
Remarques
La méthode Add ajoute un objet à un objet EntityCollection<TEntity> et crée une relation entre les deux objets. Lorsque l'objet source est attaché à une instance ObjectContext instance, la méthode Add ajoute également l'objet à l'objet ObjectContext. Cette opération est traduite en opération d'insertion dans la source de données lorsque SaveChanges est appelée. Pour plus d’informations, consultez Création, ajout, modification et suppression d’objets.
La méthode Add peut être appelée plusieurs fois sur la même instance d'objet.