ObjectContext.AddObject(String, Object) Método

Definición

Agrega un objeto al contexto del 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 el nombre del conjunto de entidades, que puede estar calificado por el nombre del contenedor de entidades.

entity
Object

Object que se va a agregar.

Excepciones

El parámetro entity es null.

o bien

entitySetName no se califica.

Ejemplos

En este ejemplo se agrega un nuevo producto y se guardan los cambios en la base de datos.

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);
    }
}

Comentarios

Llame a AddObject en el ObjectContext para agregar el objeto al contexto del objeto. Haga esto cuando el objeto sea nuevo y no exista todavía en el origen de datos. Para más información, consulte Adjuntar y desasociar objetos.

Los objetos se agregan al ObjectStateManager con el estado Detached, Deleted o Added.

Al crear un nuevo objeto relacionado con otro objeto del contexto del objeto, agregue el objeto con uno de los métodos siguientes:

  • Llame al método Add de la EntityCollection<TEntity> y especifique el objeto relacionado. Hágalo para relaciones de uno a varios o de varios a varios.

  • Establezca la propiedad Value de la EntityReference<TEntity> en el objeto relacionado. Hágalo para relaciones de uno a uno o de varios a uno.

Para obtener más información, vea Crear, agregar, modificar y eliminar objetos.

Si el objeto está en un estado desasociado, no debe tener .EntityKey

Las reglas del entitySetName formato son las siguientes:

  • Si la DefaultContainerName propiedad es null, debe entitySetName calificarse por completo como en <Nombre del contenedor> de entidades.<Nombre> del conjunto de entidades.

  • Si DefaultContainerName no nulles , puede entitySetName ser Nombre <de contenedor> de entidades.<Nombre> del conjunto de entidades o <Nombre> del conjunto de entidades.

object Si tiene un EntityKey valor y entitySetName , el EntitySet de la clave de entidad debe coincidir con el EntitySet que se encontró en función del nombre del entitySetName contenedor de entidades y .

Se aplica a

Consulte también