ObjectContext.AddObject(String, Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Nesne bağlamı için bir nesne ekler.
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)
Parametreler
- entitySetName
- String
Varlık kümesi adını temsil eder ve isteğe bağlı olarak varlık kapsayıcı adı tarafından nitelenebilir.
Özel durumlar
Örnekler
Bu örnek yeni bir ürün ekler ve değişiklikleri veritabanına kaydeder.
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);
}
}
Açıklamalar
ObjectContext nesnesini nesne bağlamı içine eklemek için üzerinde çağrısı AddObject yapın. Nesne henüz veri kaynağında mevcut olmayan yeni bir nesne olduğunda bunu yapın. Daha fazla bilgi için bkz. Nesneleri Ekleme ve Ayırma.
Nesneleri , Deleted veya Added durumunda öğesine DetachedeklenirObjectStateManager.
Nesne bağlamındaki başka bir nesneyle ilişkili yeni bir nesne oluşturduğunuzda, aşağıdaki yöntemlerden birini kullanarak nesneyi ekleyin:
Add üzerinde EntityCollection<TEntity> yöntemini çağırın ve ilgili nesneyi belirtin. Bire çok veya çoka çok ilişkisi için bunu yapın.
Value özelliğini EntityReference<TEntity> ilgili nesne olarak ayarlayın. Bunu bire bir veya çoka bir ilişki için yapın.
Daha fazla bilgi için bkz. Nesne Oluşturma, Ekleme, Değiştirme ve Silme.
Nesne ayrılmış durumdaysa, nesnesine sahip EntityKeyolmamalıdır.
Biçimin entitySetName
kuralları aşağıdaki gibidir:
DefaultContainerName özelliği ise
null
,entitySetName
Varlık Kapsayıcı Adı'nda> olduğu gibi tam olarak nitelenmelidir<.<Varlık Kümesi Adı>.null
değilseDefaultContainerName,entitySetName
Varlık Kapsayıcı Adı> olabilir<.<Varlık Kümesi Adı> veya <Varlık Kümesi Adı>.
object
ve değerine sahipse EntityKeyentitySetName
, EntitySet varlık anahtarının değeri ve varlık kapsayıcı adına göre entitySetName
bulunan ile eşleşmelidirEntitySet.