ObjectContext.AddObject(String, Object) 方法

定义

将对象添加到对象上下文。

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)

参数

entitySetName
String

表示实体集名称,可以选择通过实体容器名称对它进行限定。

entity
Object

要添加的 Object

例外

entity 参数为 null

- 或 -

entitySetName 未限定。

示例

此示例添加一个新产品,并将更改保存到数据库。

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

注解

调用 AddObjectObjectContext 可将对象添加到对象上下文。 当对象为数据源中尚不存在的新对象时采用此方法。 有关详细信息,请参阅附加和分离对象

对象以 ObjectStateManagerDetachedDeleted 状态添加到 Added

在创建与对象上下文中的另一个对象相关的新对象时,通过使用下列方法之一添加该新对象:

有关详细信息,请参阅 创建、添加、修改和删除对象

如果对象处于分离状态,则它不得具有 EntityKey

格式的规则 entitySetName 如下所示:

  • DefaultContainerName如果 属性为 null,则必须entitySetName实体容器名称>中<将 完全限定为 。<实体集名称>

  • 如果 DefaultContainerName 不是 null,则 entitySetName 可以是实体容器名称>之一<<实体集名称><实体集名称>

object如果 具有 EntityKeyentitySetName具有 值,则EntitySet实体键的 必须与根据 和 实体容器名称找到的 entitySetName 匹配EntitySet

适用于

另请参阅