解决方案 »
- 做了个Comet
- web.config文件中能不能支持多个appsettings外部文件啊
- DetailsView的模板中我加了一个TEXTBOX2控件,如何响应TextBox2.TextChanged的事件??
- vs.net 2005启动网站调试后,自动跳出,无法调试
- 如何 GridView 显示数据以目录形式显示
- [难题] WEB服务器上没有根目录权限,怎样新建子目录?
- ◆◇◆ DataGrid 前景色的问题! ◆◇◆
- 下面这一段连接数据库的代码有问题吗?
- 读取session时出现“未将对象引用设置到对象的实例”
- 谁能帮帮我?这到底应该怎么做啊!!Datagrid和数据控件的邦定问题
- ckfinder c#版 与ckeditor配合上传图片问题,显示无效的文件名或文件夹名称
- ASP.NET接收POST过来的文件
请大家指点一下迷津
{
if (entity != null)
{
db.CreateObjectSet<T>().Attach(entity);
db.ObjectStateManager.ChangeObjectState(entity, System.Data.EntityState.Modified);
}
return entity;
} [HttpPost]
public ActionResult EditUserInfo(UserInfo userInfo)
{
UserInfo oldUserInfo = userInfoService.LoadEntities(u => u.ID == userInfo.ID).FirstOrDefault();
oldUserInfo.ModifiedTime = userInfo.ModifiedTime;
userInfoService.UpdateEntity(userInfo);
return Content("ok");
}这样就报了“ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象。”错误,请问怎么解决呢?有好的修改办法吗?
UserInfo oldUserInfo = userInfoService.LoadEntities(u => u.ID == userInfo.ID).FirstOrDefault();
oldUserInfo.ModifiedTime = userInfo.ModifiedTime; userInfoService.UpdateEntity(oldUserInfo);
应该是上样这样的代码,报的错是“无法附加此对象,因为它已经在对象上下文中。对象只有在处于未更改状态时才能重新附加。”
HBSIEntities entity = new HBSIEntities();
/*更改表的实体,注意在最后加上了“Id=7”,
标识要更改实体表T_UserInfo中Id=7的行实体,
为字段重新赋值即可*/
T_UserInfo userinforow = new T_UserInfo()
{
UserName = "zbj",
Pwd = "234567",
NickName = "二师兄",
Address = "高老庄",
Sfzh = "123452223333444423",
Id=7
};
entity.T_UserInfo.Attach(userinforow); //////这句去掉 因为你查询的时候这个对象已经Attach过了
entity.ObjectStateManager.ChangeObjectState(userinforow,EntityState.Modified);
entity.SaveChanges();
T_UserInfo userinforow = new entity.Find(7); //获取原对象
userinforow.NickName = "二师兄"; //更新字段
entity.SaveChanges(); //保存
T_UserInfo userinforow =entity.Find(7); //获取原对象
userinforow.NickName = "二师兄"; //更新字段
entity.SaveChanges(); //保存
这样 using (HBSIEntities entity= new HBSIEntities ())
{
T_UserInfo userinforow=entity.T_UserInfo.FirstOrDefault(t=>t.id==7);//你查出这个实体
if(userinforow==null)
{
return new T_UserInfo();
}
userinforow.NickName = "二师兄";//你的更新的
entity.SaveChanges();//这样就会自动帮你修改
}
public ActionResult ModifyPage(Models.Student model)
{
try
{
DbEntityEntry entry = db.Entry<Models.Student>(model);
entry.State = System.Data.EntityState.Unchanged;
entry.Property("Name").IsModified = true;
entry.Property("CId").IsModified = true;
entry.Property("Gender").IsModified = true;
db.SaveChanges();
return Content("<script>alert('修改成功!');window.location='/Stu/Index'</script>");
}
catch (Exception e)
{
return Content("<script>alert('失败!'" + e.Message + ");window.location='/Stu/Index'</script>");
}
}
db.Students.AsNoTracking().Single(x => x.Id ==Id);
http://www.cnblogs.com/charje/archive/2012/02/27/entity_framework_objectstatemanager.html