【问题标题】:About EntityFramework AsNoTracking关于 EntityFramework AsNoTracking
【发布时间】:2016-12-24 00:52:31
【问题描述】:

我正在使用 EntityFramework v6.1.2。

我阅读了一些文章并了解了AsNoTracking 扩展。

AsNoTracking被调用时,意味着如果实体没有被附加,上下文和实体更新“应该失败”。

但我已经尝试更新成功,我的代码如下:

private readonly DemoObjectContext _objectContext = new DemoObjectContext();
var order = _objectContext.Orders.AsNoTracking().FirstOrDefault(x => x.Id == 1);(1 is the primary key)

order.OrderStatus = OrderStatus.Processing; // change the orderstatus
                //_objectContext.Set<Order>().Attach(order);
                _objectContext.Entry(order).State = EntityState.Modified;
                _objectContext.SaveChanges();

有什么问题还是 EntityFramework(6.1.2) 改变了什么?

请帮帮我

【问题讨论】:

    标签: c# entity-framework


    【解决方案1】:

    EF 没有问题。它之所以有效,是因为 Entry 将实体附加到上下文。

    See here for more details.

    And on this SO specifically about Entry

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 2020-10-21
      • 1970-01-01
      相关资源
      最近更新 更多