【问题标题】:Update record using MySQL, Entity Framework + Ext.NET使用 MySQL、Entity Framework + Ext.NET 更新记录
【发布时间】:2011-02-14 13:32:34
【问题描述】:

我有一段无法正常工作的代码:

StoreDataHandler dataHandler = new StoreDataHandler(HttpContext.Request["data"]);
ChangeRecords<ChequeDiary> data = dataHandler.ObjectData<ChequeDiary>();

foreach (ChequeDiary item in data.Updated) {
    db.ChequeDiaries.Attach(item);
    db.Refresh(System.Data.Objects.RefreshMode.ClientWins, item);
}

这是为了获取更改并更新底层对象,但是当我调用时

db.SaveChanges();

.. 没有任何更新。如果我使用:

foreach (ChequeDiary item in data.Updated) {
    ChequeDiary obj = db.ChequeDiaries.FirstOrDefault(o => o.Id == item.Id);
    obj.BankedAmount = item.BankedAmount;
}

并明确设置每个属性,它的工作原理。为什么?!

【问题讨论】:

    标签: c# mysql entity-framework ext.net


    【解决方案1】:

    您的第一个示例可能没有将任何属性标记为已修改。检查ObjectStateManager 以确认这一点。通常,您必须在附加对象之后修改属性。

    【讨论】:

    • 谢谢,我想我只是希望它从传递的数据中知道这一点。为清理它干杯。
    猜你喜欢
    • 2013-02-26
    • 2014-11-11
    • 2018-03-21
    • 2020-12-06
    • 2022-01-18
    • 1970-01-01
    • 2021-12-14
    相关资源
    最近更新 更多