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 entity paramètre est null.

- ou -

Le entitySetName n’est pas éligible.

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 AddObject l’objet ObjectContext pour ajouter l’objet au contexte de l’objet. Procédez ainsi lorsque l’objet est un nouvel objet qui n’existe pas encore dans la source de données.

Les objets sont ajoutés à l’état ObjectStateManager ou à l’étatDetachedDeleted.Added

Lorsque vous créez un objet lié à un autre objet dans le contexte de l’objet, ajoutez l’objet à l’aide de l’une des méthodes suivantes :

  • Appelez la Add méthode sur l’objet EntityCollection<TEntity> associé et spécifiez l’objet associé. Procédez ainsi pour une relation un-à-plusieurs ou plusieurs-à-plusieurs.

  • Définissez la Value propriété de EntityReference<TEntity> l’objet associé. Procédez ainsi pour une relation un-à-un ou plusieurs-à-un.

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, la entitySetName propriété doit être entièrement qualifiée comme dans <Entity Container Name>.<Nom> de l’ensemble d’entités.

  • Si DefaultContainerName ce n’est pas nullle cas, il entitySetName peut s’agir d’un <nom> de conteneur d’entités.<Nom> de l’ensemble d’entités ou <nom> du jeu d’entités.

Si elle object a une EntityKey valeur et entitySetName qu’elle a une valeur, la EntitySet clé d’entité doit correspondre à celle EntitySet trouvée en fonction du nom du conteneur d’entités et de l’entité entitySetName .

S’applique à

Voir aussi