ObjectContext.AddObject(String, Object) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
Excepciones
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
, debeentitySetName
calificarse por completo como en <Nombre del contenedor> de entidades.<Nombre> del conjunto de entidades.Si DefaultContainerName no
null
es , puedeentitySetName
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 .