fat*_*Dev 0 .net c# asp.net entity-framework entity-framework-4
我有这段代码,但它不起作用,我不知道问题在哪里.
没有例外.
我正在使用Entity Framework 4.这个SaveChanges调用似乎没有在数据库中做任何事情.
try
{
Demande_Rage_Animale editdemande = DemandeRageAnimaleDAO.First(s => s.ID == demandebean.ID);
//frombeanTodemande(demandebean, editdemande);
editdemande.num_rapport = "111111";
//editdemande.EntityState.
DemandeRageAnimaleDAO.SaveChanges();
}
catch (Exception ex)
{
Logger.Error("==> Modifier_demande_RageAnimale : " + ex.InnerException);
}
Run Code Online (Sandbox Code Playgroud)
在调用SaveChanges之前,必须将实体标记为已修改:
DemandeRageAnimaleDAO.Entry(editdemande).State = EntityState.Modified;
DemandeRageAnimaleDAO.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
在旧版本的Entity Framework中,您可以使用:
DemandeRageAnimaleDAO.ObjectStateManager.ChangeObjectState(editdemande, System.Data.EntityState.Modified);
Run Code Online (Sandbox Code Playgroud)
问题中显示的方法可能不是完整的图片,也许实体已经脱离了.在这种情况下,您可以将其附加回上下文,将其标记为已修改并调用SaveChanges:
var editdemande = DemandeRageAnimaleDAO.First(s => s.ID == demandebean.ID);
// whatever happens here?
DemandeRageAnimaleDAO.Demande_Rage_Animale.Attach(editdemande);
editdemande.num_rapport = "111111";
DemandeRageAnimaleDAO.ObjectStateManager.ChangeObjectState(editdemande, System.Data.EntityState.Modified);
DemandeRageAnimaleDAO.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
775 次 |
| 最近记录: |