首页 新闻 会员 周边

Linq to sql 的.SubmitChange()方法无效!祝大家新年快乐!

0
悬赏园豆:10 [已解决问题] 解决于 2017-01-28 16:11

代码如下:

 1 public void Save(Employee emp)
 2 {
 3   if (emp.EmpId == 0)
 4     db.Employee.InsertOnSubmit(emp);
 5   try {
 6     db.SubmitChanges();
 7        }
 8   catch(Exception ex)
 9     {
10     string a = ex.Message;
11     }
12 }

这里的emp是传进来了的!但是不知道为什么更新始终无效,会执行db.SubmitChanges();并且try……catch……没有捕捉到错误,新增的时候完全没有问题。泪奔了……大过年的遇到个解决不了的BUG,都睡不着了……

问题补充:

我将try里面的代码改成了这样:

1 var currentEmp=GetModel(emp.EmpId);
2 currentEmp.EmpUserName = emp.EmpUserName;
3 db.SubmitChanges();

就是用传入的emp的Id来查找到这个Employee,然后再把想要改变的属性赋给当前的Employee(currentEmployee),就能更改这个Employee了,我也不知道是为什么,明明传入的emp是有Id的。

百度知道的另一个相关回答:
https://zhidao.baidu.com/question/459527798550124125.html
他们的对话我不是很明白,有人能解惑吗?
当前时间感人:2017/1/27 1:36 [哭泣]

胡道道的主页 胡道道 | 初学一级 | 园豆:185
提问于:2017-01-27 01:01
< >
分享
最佳答案
0

可能是查询 emp 的 db 与 db.SubmitChanges() 的 db 不是同一个实例,遇到过类似现象的问题,详见:对Entity Framework Core的一次误会:实体状态不跟踪

收获园豆:10
dudu | 高人七级 |园豆:30979 | 2017-01-27 14:15

谢大神的解惑!

胡道道 | 园豆:185 (初学一级) | 2017-01-28 16:10
其他回答(1)
0

有可能是你对象参数传错了



Z.ain | 园豆:202 (菜鸟二级) | 2017-01-27 07:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册