Sdílet prostřednictvím


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ě kvalifikován názvem kontejneru entit.

entity
Object

Příkaz Object , který chcete přidat.

Výjimky

Parametr entity je null.

-nebo-

Kvalifikuje 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 na objekt 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. Další informace najdete v tématu Připojení a odpojení objektů.

Objekty jsou přidány do objektu DetachedObjectStateManager ve stavu , Deleted neboAdded.

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:

Další informace najdete v tématu Vytváření, přidávání, úpravy a odstraňování objektů.

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

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

  • DefaultContainerName Pokud je nullvlastnost , musí entitySetName být plně kvalifikována jako v <části Název> kontejneru entity.<Název> sady entit.

  • Pokud DefaultContainerName 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 hodnota hodnotu aentitySetName, EntitySet musí klíč entity odpovídat nalezené EntitySet hodnotě na základě názvu kontejneru entitySetName entity a .

Platí pro

Viz také