ObjectContext.AddObject(String, Object) Metoda

Definicja

Dodaje obiekt do kontekstu obiektu.

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)

Parametry

entitySetName
String

Reprezentuje nazwę zestawu jednostek, która może być opcjonalnie kwalifikowana przez nazwę kontenera jednostki.

entity
Object

Element do dodania Object .

Wyjątki

Parametr entity to null.

-lub-

Element entitySetName nie kwalifikuje się.

Przykłady

W tym przykładzie dodano nowy produkt i zapisano zmiany w bazie danych.

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

Uwagi

Wywołaj AddObject metodę , ObjectContext aby dodać obiekt do kontekstu obiektu. Zrób to, gdy obiekt jest nowym obiektem, który jeszcze nie istnieje w źródle danych. Aby uzyskać więcej informacji, zobacz Dołączanie i odłączanie obiektów.

Obiekty są dodawane do ObjectStateManager obiektu w Detachedstanie lub DeletedAdded .

Podczas tworzenia nowego obiektu powiązanego z innym obiektem w kontekście obiektu dodaj obiekt przy użyciu jednej z następujących metod:

  • Wywołaj metodę Add w obiekcie EntityCollection<TEntity> i określ powiązany obiekt. Zrób to w przypadku relacji jeden-do-wielu lub wiele-do-wielu.

  • Value Ustaw właściwość EntityReference<TEntity> obiektu na powiązany obiekt. Zrób to w przypadku relacji jeden do jednego lub wiele do jednego.

Aby uzyskać więcej informacji, zobacz Tworzenie, dodawanie, modyfikowanie i usuwanie obiektów.

Jeśli obiekt jest w stanie odłączonym, nie może mieć elementu EntityKey.

Reguły formatu entitySetName są następujące:

  • DefaultContainerName Jeśli właściwość ma nullwartość , entitySetName element musi być w pełni kwalifikowany jako w< polu Nazwa> kontenera jednostki.< Nazwa> zestawu jednostek.

  • Jeśli DefaultContainerName nie nulljest , entitySetName może to być nazwa <kontenera> jednostki.< Nazwa> zestawu jednostek lub <nazwa> zestawu jednostek.

Jeśli element object ma wartość EntityKey i entitySetName , klucz EntitySet jednostki musi być zgodny EntitySet z znalezioną wartością na entitySetName podstawie nazwy kontenera jednostek i .

Dotyczy

Zobacz też