0

我有以下情况:

我页面中的以下 2 个全局变量:

MainContext db = new MainContext();
User user = new User();

填充按钮更新时调用的属性的方法:

private void FillProperties()
        {
            user.FirstName = txtFirstName.Text;
            user.LastName = txtLastName.Text;
            user.Email = txtEmail.Text;
        }

在按钮更新上,我正在执行以下操作:

FillProperties();
user.ID = Request.QueryString("userid");
db.SaveChanges();

但是记录没有被更新,我认为这是合乎逻辑的,因为用户变量与 db 对象无关,但是 ia,不能这样做:

db.Users.AddObject(user);

因为在 db 属性中找不到 AddObject。

我可以做些什么来更新用户?

感谢您的回答。

4

2 回答 2

1

如果您使用DbContext API,只需使用

db.Entry(user).State = EntityState.Modified;
于 2012-04-25T09:55:49.710 回答
0

您在哪里将您的用户添加到数据库中?
如果用户存在于数据库中,为了更新它,你应该这样做,例如:

user = db.Users.Where(x => x.ID == Request.QueryString("userid")).Single();
FillProperties();
db.SaveChanges();
于 2012-04-25T10:22:12.287 回答