gpt4 book ai didi

c# - 林克 2 SQL : update record via a web service

转载 作者:太空宇宙 更新时间:2023-11-03 14:12:40 24 4
gpt4 key购买 nike

我有商务舱。在这个商务舱中有:

  1. 访问数据库的上下文(通过 .dbml)
  2. 一些方法

此业务类中的 SaveUser(User user) 方法由 Web 服务调用。此方法接收修改后的 User 对象。如何通过作为参数接收的对象的值更新数据库中的记录(字段值具有预期值)?

我试过这个:

context.Users.Attach(user); 
context.SubmitChanges();

我试过没有最后一行,同样......数据库没有变化。

有什么想法吗?

谢谢,

更新 1

public class RightManager
{
private readonly DBDataContext dc;

public RightManager()
{
dc = new DBDataContext();
}

public User GetUser(int id)
{
User user = dc.GetTable<User>()
.Where(x => x.Id == id && x.IsEnable == true)
.SingleOrDefault<User>();

return user;
}

public void SaveUser(User user)
{
dc.Users.Attach(user);
}

}

最佳答案

当然,您通过参数接收的对象不是 User 对象。您必须从上下文中获取一个(通常通过 Id),更新所需的属性然后提交。

public void SaveUser (User user) {
var userToUpdate = context.Users.Where(u => u.Id == user.Id).Single();
userToUpdate.FirstName = user.FirstName;
userToUpdate.LastName = user.LastName;

context.SubmitChanges();
}

关于c# - 林克 2 SQL : update record via a web service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7346965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com