ObjectContext.AddObject(String, Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fügt dem Objektkontext ein Objekt hinzu.
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)
Parameter
- entitySetName
- String
Stellt den Namen der Entitätenmenge dar, der optional durch den Entitätencontainernamen qualifiziert werden kann.
Ausnahmen
Beispiele
In diesem Beispiel wird ein neues Produkt hinzugefügt und die Änderungen in der Datenbank gespeichert.
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);
}
}
Hinweise
Rufen Sie AddObject für den ObjectContext auf, um das Objekt dem Objektkontext hinzuzufügen. Tun Sie dies, wenn es sich bei dem Objekt um ein neues Objekt handelt, das noch nicht in der Datenquelle vorhanden ist. Weitere Informationen finden Sie unter Anfügen und Trennen von Objekten.
Objekte werden dem ObjectStateManager im Status Detached, Deleted oder Added hinzugefügt.
Bei Erstellung eines neuen Objekts, das mit einem anderen Objekt im Objektkontext verbunden ist, sollte das Objekt mit einer der folgenden Methoden hinzugefügt werden:
Rufen Sie die Add-Methode für die EntityCollection<TEntity> auf, und geben Sie das verbundene Objekt an. Dies gilt für 1:n- und m:n-Beziehungen.
Legen Sie die Value-Eigenschaft des EntityReference<TEntity> auf das verbundene Objekt fest. Dies gilt für 1:1- und m:1-Beziehungen.
Weitere Informationen finden Sie unter Erstellen, Hinzufügen, Ändern und Löschen von Objekten.
Wenn sich das Objekt in einem getrennten Zustand befindet, darf es keinen aufweisen EntityKey.
Die Regeln für das entitySetName
Format sind wie folgt:
Wenn die DefaultContainerName -Eigenschaft ist
null
, muss dieentitySetName
vollständig qualifiziert sein, wie in Entitätscontainername<>.<Entitätssatzname>.Wenn DefaultContainerName nicht
null
, kann der Name einesentitySetName
<Entitätscontainers> sein.<Entitätssatzname> oder <Entitätssatzname>.
Wenn der object
einen - und entitySetName
einen -Wert hat, muss der EntitySet des Entitätsschlüssels mit dem übereinstimmen, der EntitySet basierend auf dem Namen des Entitätscontainers und des entitySetName
Entitätscontainers gefunden EntityKey wurde.