none
用ADO.NET EF怎么添加一条已经存在的记录? RRS feed

  • 问题

  • 我要把数据库里的一条记录取出来,然后更新相应的字段,再作为一条新的记录插入到表了,可这样会出错,代码:
    Users user = ViewState["user"] as Users;
    user.Name = "赤裸小绵羊";
    testEntities.AddToUsers(user);

    错误:“无法将此对象添加到 ObjectStateManager,因为它已有一个 EntityKey。应使用 ObjectContext.Attach 附加已有一个键的对象。”
    请教高手,这个问题如何解决,我不想 new User(),然后再一一赋值,谢谢!
    2009年6月24日 13:04

答案

  • 你好,
    请新建一个Users 对象然后把原有的Users 对象需要的属性的值一个个赋给新对象,然后用AddToUsers来添加新对象。


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    2009年6月26日 7:39
    版主

全部回复

  • 应使用 ObjectContext.Attach 附加已有一个键的对象。
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful. This posting is provided "AS IS" with no warranties, and confers no rights.
    Visual C++ MVP
    2009年6月24日 16:05
    版主
  • 版主可能没明白我的意思,我的意思是  “再作为一条新的记录插入到表了”,不是更新,是插入!
    2009年6月25日 1:53
  • 你好,
    请新建一个Users 对象然后把原有的Users 对象需要的属性的值一个个赋给新对象,然后用AddToUsers来添加新对象。


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    2009年6月26日 7:39
    版主