c# - Entity Framework - 如何不更新相关对象

标签 c# entity-framework-5

我的存储库中有以下简单的创建方法。我想要阻止的行为是在插入目标对象 (OrderItem) 的同时插入相关对象。

在本例中,订单项有一个引用属性 - 产品。创建 OrderItem 记录时,也会创建 Product 记录。

如何取消两者的关联以便仅插入 OrderItem?

public OrderItem Create(OrderItem orderItem, int orderID)
{
    orderItem.CreatedDate = DateTime.Now;
    orderItem.OrderID = orderID;

    this.DbContext.OrderItems.Add(orderItem);
    this.DbContext.SaveChanges();

    return orderItem;
}

最佳答案

您可以将 Product 属性与上下文分离:

this.DbContext.Entry(orderItem.Product).State = EntityState.Detached;

关于c# - Entity Framework - 如何不更新相关对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19725674/

相关文章:

C# StreamWriter 在单独的类中

c# - SQL 服务器 : invalid object name in query execution

java - 数组文字只能用于声明?

c# - 使用 Web API, Entity Framework 如何知道对象中发生了什么变化?

entity-framework - 对于新的 EF 项目,EntityTypeConfiguration 和 DbMigration 有什么区别

c# - Entity Framework 可以查询数据但不能保存

c# - Entity Framework 5 如何在存在关系时执行创建/更新

C# MongoDB Upsert - 'BsonValue(Guid) is obsolete: ' 使用 BsonBinaryData 构造函数并指定 Guid 表示形式'

c# - 在 Python 中加载 DLL 文件和调用函数

entity-framework-5 - 如何从现有数据库生成 POCO 代理