ObjectContext.AddObject(String, Object) Metódus

Definíció

Objektumot ad hozzá az objektumkörnyezethez.

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)

Paraméterek

entitySetName
String

Az entitáskészlet nevét jelöli, amelyet opcionálisan az entitástároló neve is minősíthet.

entity
Object

A Object hozzáadni kívánt.

Kivételek

A entity paraméter a következő null: .

-vagy-

A entitySetName nem megfelelő.

Példák

Ez a példa egy új terméket ad hozzá, és menti a módosításokat az adatbázisba.

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

Megjegyzések

Hívja fel AddObject az ObjectContext objektumot az objektum környezetbe való felvételéhez. Ezt akkor tegye, ha az objektum egy új objektum, amely még nem létezik az adatforrásban. További információ: Objektumok csatolása és leválasztása.

A rendszer hozzáadja az objektumokat az ObjectStateManagerDetached adott állapothoz DeletedAdded.

Amikor létrehoz egy új objektumot, amely egy másik objektumhoz kapcsolódik az objektumkörnyezetben, adja hozzá az objektumot az alábbi módszerek egyikével:

  • Hívja meg a Add metódust a EntityCollection<TEntity> kiszolgálón, és adja meg a kapcsolódó objektumot. Ezt egy-a-többhöz vagy több-a-többhöz kapcsolat esetén végezze el.

  • Állítsa a Value tulajdonságot a EntityReference<TEntity> kapcsolódó objektumra. Ezt egy-az-egyhez vagy több-az-egyhez kapcsolat esetén tegye.

További információ: Objektumok létrehozása, hozzáadása, módosítása és törlése.

Ha az objektum leválasztott állapotban van, akkor nem lehet EntityKey.

A formátumra vonatkozó szabályok a entitySetName következők:

  • Ha a DefaultContainerName tulajdonság aznull, akkor a entitySetName tulajdonságot teljes mértékben az entitástároló neveként<> kell minősíteni.<Entitáskészlet neve>.

  • Ha DefaultContainerName nemnull, akkor az entitySetNameentitástároló neve< is> lehet.<Entitáskészlet neve> vagy <entitáskészlet neve>.

Ha az object entitásnak van értéke EntityKey , entitySetName akkor az EntitySet entitáskulcsnak meg kell egyeznie az EntitySet entitástároló neve és neve entitySetName alapján talált értékkel.

A következőre érvényes:

Lásd még