【问题标题】:Entity framework is not refreshing when i try to update data当我尝试更新数据时,实体框架不刷新
【发布时间】:2011-06-16 21:39:10
【问题描述】:

我正在使用 ADO.NET Entity Framework 来处理我的 SQL Server 2008 R2 实例。一切正常(我正在修改其他表),直到我创建了新的 editEntity 方法,该方法在我修改后无法刷新实体,直到我重新启动程序。

这是我的查询:

TD_LIVING living = (from l in _model.TD_LIVING
                    where l.LEASE_START == leaseStart
                      && l.TD_FLAT_ID == flat.TD_FLAT_ID
                    select l).FirstOrDefault(); 

living.LEASE_END = signOffDate;

int changesCount = UpdateContext.SaveChanges();

实体被修改(我检查了ObjectStateEntry),SaveChanges() 返回 1,但是,当我得到所有TD_LIVING 的列表时,那里的值是旧的。

我尝试过使用

_model.Refresh(RefreshMode.ClientWins, living);

当失败时,我尝试创建将实体附加到的新上下文:

badbEntities UpdateContext = new badbEntities();
UpdateContext.Attach(living);
living.LEASE_END = signOffDate;

int changesCount = UpdateContext.SaveChanges(SaveOptions.AcceptAllChangesAfterSave);

没用……

【问题讨论】:

  • 应该RefreshMode.ClientWinsRefreshMode.StoreWins 吗?
  • @Peter K. 我尝试了 RefreshModes 和 SaveOptions 的不同组合,但没有结果......

标签: c# entity-framework ado.net


【解决方案1】:

你不需要:

UpdateContext.SaveChanges(living)

否则它不知道要更新什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多