ObjectContext.AddObject(String, Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Adiciona um objeto ao contexto do 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 do conjunto de entidades, que pode ser opcionalmente qualificado pelo nome do contêiner da entidade.
Exceções
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 para ObjectContext 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.
Os objetos são adicionados ao ObjectStateManager estado ou Added ao DetachedDeleted estado.
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 e especifique EntityCollection<TEntity> o objeto relacionado. Faça isso para uma relação um-para-muitos ou muitos-para-muitos.
Defina a Value propriedade do EntityReference<TEntity> objeto relacionado. Faça isso para uma relação um-para-um ou muitos-para-um.
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, aentitySetNamepropriedade deverá ser totalmente qualificada como no <Nome> do Contêiner da Entidade.<Nome> do conjunto de entidades.Se DefaultContainerName não
nullestiver, o nome> do contêiner de entidade pode ser<entitySetNamequalquer um.<Nome> do conjunto de entidades ou <nome> do conjunto de entidades.
Se ele object tiver um EntityKey valor e entitySetName tiver, a EntitySet chave da entidade deverá corresponder à EntitySet que foi encontrada com base no nome do contêiner e da entitySetName entidade.