ObjectContext.AddObject(String, Object) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 da entidade, que pode opcionalmente ser qualificado pelo nome do contentor da entidade.
Exceções
Exemplos
Este exemplo adiciona um novo produto e guarda as alterações na base 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);
}
}
Observações
Chame AddObject o ObjectContext para adicionar o objeto ao contexto do objeto. Faça isto quando o objeto for um novo objeto que ainda não existe na fonte de dados. Para obter mais informações, consulte Anexando e desanexando objetos.
Os objetos são adicionados ao ObjectStateManager no Detachedestado , Deleted ou Added .
Quando criar um novo objeto relacionado com outro objeto no contexto do objeto, adicione o objeto usando um dos seguintes métodos:
Chame o Add método em e EntityCollection<TEntity> especifique o objeto relacionado. Faz isto numa relação de um-para-muitos ou muitos-para-muitos.
Defina a Value propriedade de para EntityReference<TEntity> o objeto relacionado. Faz isto numa relação um para um ou muitos-para-um.
Para mais informações, veja Criar, Adicionar, Modificar e Eliminar Objetos.
Se o objeto estiver num estado desligado, não pode ter um EntityKey.
As regras para o entitySetName formato são as seguintes:
Se a DefaultContainerName propriedade for
null, então oentitySetNametem de ser totalmente qualificado, como em <Nome> do Contentor da Entidade.<Nome> do conjunto da entidade.Se não for , então pode
entitySetNameser ou <Nome> do Contentor da Entidade.nullDefaultContainerName<Nome> do conjunto da entidade ou <nome> do conjunto da entidade.
Se o object tiver um EntityKey e entitySetName tiver um valor, então o EntitySet da chave da entidade deve corresponder ao EntitySet que foi encontrado com base no entitySetName nome do contentor da entidade e .