1

2 つのオブジェクトを取り込むリストがあり、各オブジェクトの同じ列を更新してデータベースに保存したいと考えています。私はこれを試しましたが、うまくいきません。ドロップダウンボックスを設定して正しいオブジェクトがあるかどうかを確認すると、正しいオブジェクトがリストに表示されます。

List<Fighter> item = fight.Fighters.ToList<Fighter>();
item.ToList().ForEach(c => c.Draw++);
            db.SaveChanges();

何か案は?


私はファイトとファイターの間に多対多の関係を持っています.2人のファイターはファイトに属しています.

編集:

[HttpPost]
    public ActionResult HandleResult(Fight fight)
    {

        List<Fighter> item = fight.Fighters.ToList<Fighter>();

        ... //Code here that isnt related

        foreach (var i in item)
                {
                    item.ToList().ForEach(c => c.Draw++);
                    db.Fighters.Add(i);
                }

                db.SaveChanges();
     }

httpPost でわかるように、戦闘に参加しているファイターを取得し、ファイター エンティティにある属性 Draw に 1 を追加します。

4

2 に答える 2

3

実際にデータベース テーブルに追加せずに保存しようとしています。Entity Framework を使用しているようです。そう仮定すると、次のようなことをします。

List<Fighter> item = db.fight.Fighters.ToList<Fighter>();
item.ToList().ForEach(c => c.Draw++);
foreach (var i in item)
{
    db.fight.Fighters.AddObject(i);
}

db.SaveChanges();

編集: 構文を更新しました。それは正しくありませんでした。

于 2013-01-25T21:06:26.753 に答える
0

db.SaveChanges(); を実行する前に、db.Add(object) のようなことをする必要があります。

于 2013-01-25T21:07:58.950 に答える