0

由于某种原因,该方法dbase.SaveChanges()无法更新数据库,因为roomid它应该为空。但是调试器确实说room1.id设置为2?

有人可以帮我吗?

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,它看起来更像是实体框架或 linq to SQL。

您要做什么也不太清楚。如果您尝试向数据库添加一个新房间,我建议您设置一些属性,否则您只是插入一个空房间。

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 回答