MVVM数据库Child_Update()不更新

问题描述:

好的,这里是交易。使用我的模型来引发Child_Update()方法。我知道这不好,但我现在只是勉强。现在我给了我的业务类作为参数来改变已经给定的行。 它的一切都很好,没有任何错误消息,也没有空变量,但它并没有改变数据库中的任何东西。MVVM数据库Child_Update()不更新

这里我使用的selectedIndex来选择合适的项目进行更新

public void ExecuteAngestellte(object obj) 
{ 
    try 
    { 
     _selectedIndex.Child_Update(new Farbe { FarbauswahlNr = SelectedIndex.FarbauswahlNr, Kurztext = SelectedIndex.Kurztext, Ressource = SelectedIndex.Ressource, Vari1 = SelectedIndex.Vari1, Vari2 = SelectedIndex.Vari2 }); 

    } 
    catch (Exception e) 
    { 
     MessageBox.Show(e.ToString()); 
    } 
} 

和这里的孩子更新

public void Child_Update(Farbe data) 
{ 
    using (var ctx =Csla.Data.ObjectContextManager<TestDBEntities>.GetManager(EntitiesDatabase.Name)) 
    { 
     var objectStateManager = ctx.ObjectContext.ObjectStateManager; 
     var _data = new Datenbank.Farbe(); 

     _data.FarbauswahlNr = data.FarbauswahlNr; 
     _data.Kurztext = data.Kurztext; 
     _data.Ressource = data.Ressource; 
     _data.Var1 = data.Vari1; 
     _data.Vari2 = data.Vari2; 

     ctx.ObjectContext.SaveChanges(); 

    } 
} 

THX的帮助

+0

如果你在Child_Update函数中放置了一个断点,它是否会进入SaveChanges? – 2013-03-19 15:43:22

+0

是的,它是开始到SaveChanges() – 2013-03-19 15:46:52

+0

和顺便说一句。我的插入工作正常 – 2013-03-19 15:48:55

据我可以告诉,你的_data不是数据环境的一部分

我不确定什么是var iables都意味着所以这里是一个简单的更新我的一个记录使用与实体框架

public void UpdateTable(int idRecord, YourContext Context) 
{ 
    MyRecord = Context.MyTable.Find(idRecord); 
    myRecord.Column = "New Value"; 
    Context.SaveChanges(); 
} 

所以我认为你需要做的:

var MyData = ctx.ObjectContext.TableName.Find(id) 

我假设你正在使用实体框架。这有帮助吗?

+0

是的,对。我需要配置datacontext。 – 2013-03-20 07:24:41