ObjectContext.AddObject(String, Object) Methode

Definitie

Hiermee voegt u een object toe aan de objectcontext.

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)

Parameters

entitySetName
String

Vertegenwoordigt de naam van de entiteitsset, die eventueel kan worden gekwalificeerd door de naam van de entiteitscontainer.

entity
Object

De Object te toevoegen.

Uitzonderingen

De entity parameter is null.

– of –

De entitySetName komt niet in aanmerking.

Voorbeelden

In dit voorbeeld wordt een nieuw product toegevoegd en worden de wijzigingen in de database opgeslagen.

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);
    }
}

Opmerkingen

Roep de ObjectContext aanroep AddObject aan om het object toe te voegen aan de objectcontext. Doe dit wanneer het object een nieuw object is dat nog niet bestaat in de gegevensbron. Zie Objecten koppelen en loskoppelen voor meer informatie.

Objecten worden toegevoegd aan de ObjectStateManagerDetachedDeleted of Added status.

Wanneer u een nieuw object maakt dat is gerelateerd aan een ander object in de objectcontext, voegt u het object toe met behulp van een van de volgende methoden:

  • Roep de Add methode aan op de EntityCollection<TEntity> en geef het gerelateerde object op. Doe dit voor een een-op-veel- of veel-op-veel-relatie.

  • Stel de Value eigenschap van het EntityReference<TEntity> object in op het gerelateerde object. Doe dit voor een een-op-een- of veel-op-een-relatie.

Zie Objecten maken, toevoegen, wijzigen en verwijderen voor meer informatie.

Als het object een losgekoppelde status heeft EntityKey, mag het geen .

De regels voor de entitySetName indeling zijn als volgt:

  • Als de DefaultContainerName eigenschap isnull, moet de eigenschap volledig worden gekwalificeerd als in <de naam van de entiteitscontainer>entitySetName.<Naam> van entiteitsset.

  • Als DefaultContainerName dat niet nullhet geval is, kan dit de naam> van de<entitySetName entiteitscontainer zijn.<Naam> van entiteitsset of <naam> van entiteitsset.

Als de object entiteitssleutel een EntityKey waarde heeft en entitySetName een waarde heeft, moet de EntitySet entiteitssleutel overeenkomen met de EntitySet gevonden sleutel op basis van de naam van de entitySetName entiteitscontainer.

Van toepassing op

Zie ook