由于某种原因,方法dbase.SaveChanges()
无法更新数据库,因为roomid
应为null。
但调试器确实说room1.id
设置为2?
有人可以帮帮我吗?
private void button1_Click(object sender, EventArgs e)
{
Room room1 = new Room();
room1.Id = 2;
dbase.AddToRoom(room1);
dbase.SaveChanges();
}
答案 0 :(得分: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();
同样,如果我错了,你还不完全清楚你究竟想要做什么,请详细说明一下。