模型不会更新数据库

时间:2013-03-08 20:21:57

标签: c# sql ado.net

由于某种原因,方法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();
}

1 个答案:

答案 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();

同样,如果我错了,你还不完全清楚你究竟想要做什么,请详细说明一下。