0

何らかの理由で、nullである必要があるため、メソッドdbase.SaveChanges()はデータベースを更新できません。roomidしかし、デバッガーはそれが2に設定されていると言っていますroom1.idか?

誰かがこれを手伝ってくれませんか?

private void button1_Click(object sender, EventArgs e)
{
    Room room1 = new Room();
    room1.Id = 2;
    dbase.AddToRoom(room1);
    dbase.SaveChanges();
}
4

1 に答える 1

0

これが実際にADO.NETであるかどうかはわかりませんが、エンティティフレームワークまたはSQLへのlinqのようです。

また、あなたが何をしようとしているのかもはっきりしていません。データベースに新しい部屋を追加しようとしている場合は、いくつかのプロパティを設定することをお勧めします。そうでない場合は、空の部屋を挿入するだけです。

var room1 = new Room();
room1.RoomNumber = 4;
room1.Available = true;
//...
dbase.AddToRoom(room1);
dbase.SaveChanges();

これを実行しようとしている場合は、部屋のIDを指定する必要はありません(ID列が自動インクリメントに設定されている場合)。

新しい部屋を挿入する代わりに部屋を更新しようとしている場合は、次のようにすることができます。

var roomToUpdate = dbase.Rooms.Where(x => x.id == id).FirstOrDefault();
roomToUpdate.Property ="something";
//...
dbase.Update(roomToUpdate)
dbase.SaveChanges();

繰り返しますが、あなたが何をしようとしているのかが完全には明確ではありません。私が間違っている場合は、もう少し詳しく説明してください。

于 2013-03-08T20:33:32.070 に答える