0

これが取引です。モデルを使用してChild_Update()メソッドを発生させます。私はそれが良くないことを知っていますが、私は今ただ学習しています。今、私はすでに与えられた行を変更するためのパラメータとして私のビジネスクラスを与えました。エラーメッセージなしですべてが正常に実行され、null変数もありませんが、データベース内の何も変更されていません。

ここでは、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

4

1 に答える 1

0

私の知る限り、あなたの_dataはdatacontextの一部ではありません

変数がすべて何を意味するのかわからないので、エンティティフレームワークを使用して単一のレコードに使用する簡単な更新を次に示します。

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)

エンティティフレームワークを使用していると想定しています。これは役に立ちますか?

于 2013-03-19T17:46:33.157 に答える