由于某种原因,该方法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();
}
我不确定这实际上是 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();
同样,如果我错了,您到底要做什么并不完全清楚,请详细说明。