EntityCollection<TEntity>.Add(TEntity) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Adiciona um objeto à coleção.
public:
virtual void Add(TEntity entity);
public void Add(TEntity entity);
override this.Add : 'Entity -> unit
Public Sub Add (entity As TEntity)
Parâmetros
- entity
- TEntity
Um objeto para adicionar à coleção.
entity deve implementar IEntityWithRelationships.
Implementações
Exceções
entity é null.
Exemplos
Este exemplo baseia-se no Modelo de Vendas da Adventure Works. Para executar o código neste exemplo, deve já ter adicionado o AdventureWorks Sales Model ao seu projeto e configurado o seu projeto para usar o Entity Framework. Para isso, complete os procedimentos em Como: Configurar manualmente um Entity Framework Project e Como: Definir manualmente o modelo e os ficheiros de mapeamento.
Este exemplo cria duas novas SalesOrderHeader entidades, adiciona-as à Contact entidade e, após remover um objeto, usa o Add método para o adicionar novamente à coleção.
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);
}
}
Observações
O Add método adiciona um objeto a um EntityCollection<TEntity> e cria uma relação entre os dois objetos. Quando o objeto fonte é associado a uma ObjectContext instância, o Add método também adiciona o objeto ao ObjectContext. Esta operação é convertida numa operação de inserção na fonte de dados quando SaveChanges é chamada. Para mais informações, veja Criar, Adicionar, Modificar e Eliminar Objetos.
O Add método pode ser chamado várias vezes na mesma instância do objeto.