EntityCollection<TEntity>.Add(TEntity) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Lägger till ett objekt i samlingen.
public:
virtual void Add(TEntity entity);
public void Add(TEntity entity);
override this.Add : 'Entity -> unit
Public Sub Add (entity As TEntity)
Parametrar
- entity
- TEntity
Ett objekt som ska läggas till i samlingen.
entity måste implementera IEntityWithRelationships.
Implementeringar
Undantag
entity är null.
Exempel
Det här exemplet baseras på Adventure Works försäljningsmodell. Om du vill köra koden i det här exemplet måste du redan ha lagt till AdventureWorks Sales Model i projektet och konfigurerat projektet för att använda Entity Framework. Det gör du genom att utföra procedurerna i Så här: Konfigurera ett Entity Framework-Project och Så här: Definiera modell- och mappningsfiler manuellt.
Det här exemplet skapar två nya SalesOrderHeader entiteter, lägger till dem i Contact entiteten och använder metoden när du har Add tagit bort ett objekt för att lägga till objektet i samlingen igen.
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)
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);
}
}
Kommentarer
Metoden Add lägger till ett objekt i en EntityCollection<TEntity> och skapar en relation mellan de två objekten. När källobjektet är kopplat till en ObjectContext instans Add lägger metoden även till objektet i ObjectContext. Den här åtgärden översätts till en infogningsåtgärd i datakällan när SaveChanges den anropas. Mer information finns i Skapa, lägga till, ändra och ta bort objekt.
Metoden Add kan anropas flera gånger på samma objektinstans.