ObjectContext.AddObject(String, Object) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Lägger till ett objekt i objektkontexten.
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)
Parametrar
- entitySetName
- String
Representerar namnet på entitetsuppsättningen, som eventuellt kan kvalificeras av entitetscontainerns namn.
Undantag
Exempel
Det här exemplet lägger till en ny produkt och sparar ändringarna i databasen.
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);
}
}
Kommentarer
Anropa AddObject för ObjectContext att lägga till objektet i objektkontexten. Gör detta när objektet är ett nytt objekt som ännu inte finns i datakällan. Mer information finns i Koppla till och koppla från objekt.
Objekt läggs till ObjectStateManager i tillståndet Detached, Deleted eller Added .
När du skapar ett nytt objekt som är relaterat till ett annat objekt i objektkontexten lägger du till objektet med någon av följande metoder:
Add Anropa metoden på EntityCollection<TEntity> och ange det relaterade objektet. Gör detta för en en-till-många-relation eller många-till-många-relation.
Value Ange egenskapen för EntityReference<TEntity> det relaterade objektet. Gör detta för en en-till-en-relation eller många-till-en-relation.
Mer information finns i Skapa, lägga till, ändra och ta bort objekt.
Om objektet är i frånkopplat tillstånd får det inte ha en EntityKey.
Reglerna för entitySetName formatet är följande:
Om egenskapen DefaultContainerName är
nullmåste denentitySetNamevara fullständigt kvalificerad som i <Entitetscontainernamn>.<Namn> på entitetsuppsättning.Om DefaultContainerName inte
nullkan detentitySetNamevara antingen <entitetscontainernamn>.<Namn> på entitetsuppsättning eller <entitetsuppsättning>.
object Om har ett EntityKey och entitySetName har ett värde EntitySet måste entitetsnyckelns värde matcha EntitySet det som hittades baserat på entitySetName containernamnet och entiteten.