Partager via


ObjectContext.AddObject(String, Object) Méthode

Définition

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.

entity
Object

Object à ajouter.

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, le entitySetName 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’autre entitySetName<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.

S’applique à

Voir aussi