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 opcionalmente puede ser calificado por el nombre del contenedor de entidades.
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, debeentitySetNamecalificarse por completo como en <Nombre del contenedor> de entidades.<Nombre> del conjunto de entidades.Si DefaultContainerName no
nulles ,entitySetNamepuede 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 .