您好我试图做一个基于使用Linq和实体框架的ID基本更新。我对此很新,但我没看到问题。实体框架LINQ插入命令失败。 MVC3
我的实体类对象在控制器级别声明。
gwwbnEntities db = new gwwbnEntities();
该方法捕获查询字符串ID并更新用该ID表示的用户的注册状态。
public ActionResult ConfirmedAccount(int id)
{
var q = from u in db.user_registration
where u.id == id && u.reg_status == null
select u;
if (q.Any())
{
foreach(var item in q){
user_registration user = item;
user.reg_status = 202;
db.Entry(user).State = EntityState.Modified;
db.SaveChanges();
}
return View();
}
else
{
return RedirectToAction("RegistrationError");
}
}
任何帮助将不胜感激!再次,所有的工作和填充正确,但上下文object.SaveChanges()方法每次都失败。
谢谢你们!
失败,哪个例外? – user7116
你有没有想过不止一场比赛?如果不是,你为什么使用“foreach”? – BrokenGlass
例外情况是:新事务不被允许,因为会话中还有其他线程正在运行。 异常详细信息:System.Data.SqlClient.SqlException:由于会话中还有其他线程正在运行,因此不允许新的事务。由于易于编码,我只是使用foreach。如果你会建议采取不同的方式,我绝对是耳朵。正如我所说,我对LINQ和实体框架非常陌生。非常感谢你们! – user1345632