ObjectContext.AddObject(String, Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ajoute un objet au contexte de l'objet.
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)
Paramètres
- entitySetName
- String
Représente le nom du jeu d'entités, qui peut éventuellement être qualifié par le nom du conteneur d'entités.
Exceptions
Le paramètre entity
a la valeur null
.
- ou -
entitySetName
n'est pas qualifié.
Exemples
Cet exemple montre comment ajouter un nouveau produit et enregistrer les modifications apportées à la base de données.
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);
}
}
Remarques
Appelez la méthode AddObject sur l'objet ObjectContext pour ajouter l'objet au contexte de l'objet. Procédez de cette manière lorsqu'il s'agit d'un nouvel objet qui n'existe pas encore dans la source de données. Pour plus d’informations, consultez Attachement et détachement d’objets.
Les objets sont ajoutés à l'objet ObjectStateManager à l'état Detached, Deleted ou Added.
Lorsque vous créez un nouvel objet lié à un autre objet dans le contexte de l'objet, ajoutez l'objet à l'aide d'une des méthodes suivantes :
Appelez la méthode Add sur l'objet EntityCollection<TEntity> et spécifiez l'objet connexe. Effectuez cette action pour une relation un-à-plusieurs ou plusieurs-à-plusieurs.
Définissez la propriété Value de l'objet EntityReference<TEntity> à l'objet connexe. Effectuez cette action pour une relation un-à-un ou plusieurs-à-un.
Pour plus d’informations, consultez Création, ajout, modification et suppression d’objets.
Si l’objet est dans un état détaché, il ne doit pas avoir de EntityKey.
Les règles du entitySetName
format sont les suivantes :
Si la DefaultContainerName propriété est
null
, leentitySetName
doit être entièrement qualifié comme dans <Nom> du conteneur d’entité.<Nom de> l’ensemble d’entités.Si DefaultContainerName n’est pas
null
, le peut être l’un ou l’autreentitySetName
<nom du> conteneur d’entités.<Nom de> l’ensemble d’entités ou <Nom de l’ensemble d’entités>.
Si le object
a une EntityKey valeur et entitySetName
a une valeur, le EntitySet de la clé d’entité doit correspondre au EntitySet qui a été trouvé en fonction du nom du conteneur d’entité entitySetName
et.