ObjectContext.AddObject(String, Object) Metoda

Definice

Přidá objekt do kontextu objektu.

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

Představuje název sady entit, který může být volitelně kvalifikovaný názvem kontejneru entity.

entity
Object

Přidání Object

Výjimky

Parametr entity je null.

nebo

Nekvalifikuje entitySetName se.

Příklady

Tento příklad přidá nový produkt a uloží změny do databáze.

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

Poznámky

Voláním AddObject objektu ObjectContext přidáte objekt do kontextu objektu. Tuto akci proveďte, pokud je objekt novým objektem, který ještě ve zdroji dat neexistuje.

Objekty se přidají do objektu v objektu ObjectStateManagerDetached, Deleted nebo Added ve stavu.

Při vytváření nového objektu, který souvisí s jiným objektem v kontextu objektu, přidejte objekt pomocí jedné z následujících metod:

Pokud je objekt v odpojeném stavu, nesmí obsahovat .EntityKey

Pravidla pro entitySetName formát jsou následující:

  • Pokud je DefaultContainerNamenullvlastnost , musí entitySetName být plně kvalifikovaný jako v <názvu> kontejneru entity.<Název> sady entit

  • Pokud DefaultContainerName tomu tak nenínull, entitySetName může to být název <kontejneru> entity.<Název> sady entit nebo <název> sady entit

object Pokud má EntityKey klíč entity hodnotu a entitySetName má ji, EntitySet musí odpovídat nalezené EntitySet hodnotě na základě názvu kontejneru entitySetName entity a entity.

Platí pro

Viz také