ObjectContext.AddObject(String, Object) Metod

Definition

Lägger till ett objekt i objektkontexten.

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)

Parametrar

entitySetName
String

Representerar namnet på entitetsuppsättningen, som eventuellt kan kvalificeras av entitetscontainerns namn.

entity
Object

Att Object lägga till.

Undantag

Parametern entity är null.

-eller-

Kvalificerar entitySetName inte.

Exempel

Det här exemplet lägger till en ny produkt och sparar ändringarna i databasen.

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

Kommentarer

Anropa AddObject för ObjectContext att lägga till objektet i objektkontexten. Gör detta när objektet är ett nytt objekt som ännu inte finns i datakällan. Mer information finns i Koppla till och koppla från objekt.

Objekt läggs till ObjectStateManager i tillståndet Detached, Deleted eller Added .

När du skapar ett nytt objekt som är relaterat till ett annat objekt i objektkontexten lägger du till objektet med någon av följande metoder:

  • Add Anropa metoden på EntityCollection<TEntity> och ange det relaterade objektet. Gör detta för en en-till-många-relation eller många-till-många-relation.

  • Value Ange egenskapen för EntityReference<TEntity> det relaterade objektet. Gör detta för en en-till-en-relation eller många-till-en-relation.

Mer information finns i Skapa, lägga till, ändra och ta bort objekt.

Om objektet är i frånkopplat tillstånd får det inte ha en EntityKey.

Reglerna för entitySetName formatet är följande:

  • Om egenskapen DefaultContainerName är nullmåste den entitySetName vara fullständigt kvalificerad som i <Entitetscontainernamn>.<Namn> på entitetsuppsättning.

  • Om DefaultContainerName inte nullkan det entitySetName vara antingen <entitetscontainernamn>.<Namn> på entitetsuppsättning eller <entitetsuppsättning>.

object Om har ett EntityKey och entitySetName har ett värde EntitySet måste entitetsnyckelns värde matcha EntitySet det som hittades baserat på entitySetName containernamnet och entiteten.

Gäller för

Se även