Compartilhar via


ObjectContext.AddObject(String, Object) Método

Definição

Adiciona um objeto ao contexto do objeto.

public:
 void AddObject(System::String ^ entitySetName, System::Object ^ entity);
public void AddObject(string entitySetName, object entity);
member this.AddObject : string * obj -> unit
Public Sub AddObject (entitySetName As String, entity As Object)

Parâmetros

entitySetName
String

Representa o nome do conjunto de entidades, que pode ser opcionalmente qualificado pelo nome do contêiner da entidade.

entity
Object

O Object para adicionar.

Exceções

O entity parâmetro é null.

- ou -

O entitySetName não se qualifica.

Exemplos

Este exemplo adiciona um novo produto e salva as alterações no banco de dados.

Product newProduct;

// Define values for the new product.
string dateTimeString = "1998-06-01 00:00:00.000";
string productName = "Flat Washer 10";
string productNumber = "FW-5600";
Int16 safetyStockLevel = 1000;
Int16 reorderPoint = 750;

// Convert the date time string into a DateTime instance.
DateTime sellStartDate;
if (!DateTime.TryParse(dateTimeString, out sellStartDate))
{
    throw new ArgumentException(string.Format("The string '{0}'cannot "
        + "be converted to DateTime.", dateTimeString));
}

// Create a new Product.
newProduct = Product.CreateProduct(0,
    productName, productNumber, false, false, safetyStockLevel, reorderPoint,
    0, 0, 0, DateTime.Today, Guid.NewGuid(), DateTime.Today);

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    try
    {
        // Add the new object to the context.
        context.Products.AddObject(newProduct);

        // Persist the new produc to the data source.
        context.SaveChanges();

        // Return the identity of the new product.
        return newProduct.ProductID;
    }
    catch (UpdateException ex)
    {
        throw new InvalidOperationException(string.Format(
            "The object could not be added. Make sure that a "
            + "product with a product number '{0}' does not aleady exist.\n",
            newProduct.ProductNumber), ex);
    }
}

Comentários

Chame AddObject para ObjectContext adicionar o objeto ao contexto do objeto. Faça isso quando o objeto for um novo objeto que ainda não existe na fonte de dados.

Os objetos são adicionados ao ObjectStateManager estado ou Added ao DetachedDeleted estado.

Ao criar um novo objeto relacionado a outro objeto no contexto do objeto, adicione o objeto usando um dos seguintes métodos:

  • Chame o Add método e especifique EntityCollection<TEntity> o objeto relacionado. Faça isso para uma relação um-para-muitos ou muitos-para-muitos.

  • Defina a Value propriedade do EntityReference<TEntity> objeto relacionado. Faça isso para uma relação um-para-um ou muitos-para-um.

Se o objeto estiver em um estado desanexado, ele não deverá ter um EntityKey.

As regras para o formato são as entitySetName seguintes:

  • Se a DefaultContainerName propriedade fornull, a entitySetName propriedade deverá ser totalmente qualificada como no <Nome> do Contêiner da Entidade.<Nome> do conjunto de entidades.

  • Se DefaultContainerName não nullestiver, o nome> do contêiner de entidade pode ser<entitySetName qualquer um.<Nome> do conjunto de entidades ou <nome> do conjunto de entidades.

Se ele object tiver um EntityKey valor e entitySetName tiver, a EntitySet chave da entidade deverá corresponder à EntitySet que foi encontrada com base no nome do contêiner e da entitySetName entidade.

Aplica-se a

Confira também