我有以下代码:
public int DeActivate(User entity) {
try {
using (UsersDataContext usersDC = new UsersDataContext()) {
users user = new users();
user = usersDC.users.Where(x => x.id == entity.Id).
Select(x => new users {active = x.active}).FirstOrDefault();
//user.active = entity.Active;
user.active = false;
usersDC.SubmitChanges();
return 1;
}
}
catch {
return 0;
}
}
在对方法运行NUnit测试时,该方法返回1,正如它应该做的那样,并且在调试时不会抛出任何异常。但是,当我与DB交叉检查时,记录没有受到影响。我尝试了以下内容:重新创建DBML文件,检查是否存在PK,并检查以下网站: MSDN question,StackOverflow question,但无济于事。
答案 0 :(得分:2)
您的select语句错误。试试这个。
public int DeActivate(User entity) {
try {
using (UsersDataContext usersDC = new UsersDataContext()) {
var user = usersDC.users.Single(x => x.id == entity.Id);
user.active = false;
usersDC.SubmitChanges();
return 1;
}
} catch {
return 0;
}
}