Compartir a través de


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 opcionalmente puede ser calificado por el nombre del contenedor de entidades.

entity
Object

que Object se va a agregar.

Excepciones

El entity parámetro es null.

O bien

El entitySetName no cumple los requisitos.

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 AddObject a en para ObjectContext agregar el objeto al contexto del objeto. Haga esto cuando el objeto es un nuevo objeto que aún no existe en el origen de datos.

Los objetos se agregan a ObjectStateManager en el Detachedestado , Deleted o Added .

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

  • Llame al Add método en EntityCollection<TEntity> y especifique el objeto relacionado. Haga esto para una relación uno a varios o varios a varios.

  • Establezca la Value propiedad de en EntityReference<TEntity> el objeto relacionado. Haz esto para una relación uno a uno o varios a uno.

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

Las reglas para el 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 , entitySetName puede ser nombre <de contenedor> de entidades.<Nombre del conjunto de entidades o Nombre> del conjuntode entidades.><

object Si tiene un y entitySetName tiene EntityKey un valor, 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