Compartilhar via


ObjectContext.AddObject(String, Object) Método

Definição

Adiciona um objeto ao contexto de 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 de conjunto de entidades, que pode, opcionalmente, ser qualificado pelo nome do contêiner de entidade.

entity
Object

O Object a ser adicionado.

Exceções

O parâmetro entity é 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 no ObjectContext para 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. Para obter mais informações, consulte Anexar e desanexar objetos.

Os objetos são adicionados ao ObjectStateManager no Detachedestado ou DeletedAdded .

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 no EntityCollection<TEntity> e especifique o objeto relacionado. Faça isso para uma relação um-para-muitos ou muitos-para-muitos.

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

Para obter mais informações, consulte Criando, adicionando, modificando e excluindo objetos.

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 for null, o entitySetName precisará ser totalmente qualificado como em <Nome> do Contêiner de Entidade.<Nome> do Conjunto de Entidades.

  • Se DefaultContainerName não nullfor , o entitySetName poderá ser o< Nome> do Contêiner de Entidade.<Nome> do Conjunto de Entidades ou <Nome> do Conjunto de Entidades.

Se o object tiver um EntityKey e entitySetName tiver um valor, o EntitySet da chave de entidade deverá corresponder ao EntitySet encontrado com base no nome do entitySetName contêiner de entidade e .

Aplica-se a

Confira também