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的帮助
答
据我可以告诉,你的_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
如果你在Child_Update函数中放置了一个断点,它是否会进入SaveChanges? – 2013-03-19 15:43:22
是的,它是开始到SaveChanges() – 2013-03-19 15:46:52
和顺便说一句。我的插入工作正常 – 2013-03-19 15:48:55