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 ma wartość null.

-lub-

Nie entitySetName kwalifikuje się.

Przykłady

W tym przykładzie dodamy nowy produkt i zapiszemy 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 obiektu ObjectStateManager w Detachedstanie , Deleted lub Added .

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 dla relacji jeden do wielu lub wiele do wielu.

  • Value Ustaw właściwość obiektu EntityReference<TEntity> na powiązany obiekt. Zrób to dla 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ć .EntityKey

Reguły dla entitySetName formatu 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 nullma wartości , entitySetName może to być nazwa kontenera> jednostki<.<Nazwa> zestawu jednostek lub <nazwa> zestawu jednostek.

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

Dotyczy

Zobacz też