【问题标题】:How to change the foreign key using ASP.NET MVC 2 + Entity如何使用 ASP.NET MVC 2 + Entity 更改外键
【发布时间】:2011-06-01 02:59:09
【问题描述】:
[HttpPost]
    public ActionResult Edit(FormCollection form)
    {
        // Get movie to update
        var id = Int32.Parse(form["id_foto"]);
        var fotoToAdd = _db.foto.First(m => m.id_foto == id);

        // Deserialize (Include white list!)
        TryUpdateModel(fotoToAdd, new string[] { "descricao" },    form.ToValueProvider());

        //Here I try to change my foreign key, but i get this exception: "The property 'id_album' part of the key information of the object and can not be changed."
        fotoToAdd.id_album = Convert.ToInt32(form["id_album"]);

        //file upload 
        if (Request.Files.Count > 0)
        {
            int tamanho = (int)Request.Files[0].InputStream.Length;
            byte[] arq = new byte[tamanho];
            Request.Files[0].InputStream.Read(arq, 0, tamanho);
            byte[] arqUp = arq;
            fotoToAdd.imagem = arqUp;
        }

        //Validation
        if (String.IsNullOrEmpty(fotoToAdd.descricao))
            ModelState.AddModelError("Descrição", "Ops... campo obrigatório");
        if (String.IsNullOrEmpty(fotoToAdd.id_album.ToString()))
            ModelState.AddModelError("Album", "Ops... campo obrigatório");
        if (fotoToAdd.imagem == null)
            ModelState.AddModelError("Foto", "Ops... campo obrigatório");

        //If success, Update
        if (ModelState.IsValid)
        {
            _db.SaveChanges();
            return RedirectToAction("Index");
        }

        //Else, return view
        return View(fotoToAdd);
    }

//这里我尝试改变我的外键,但是我得到这个异常:“属性'id_album'部分的对象的关键信息,不能改变。”

fotoToAdd.id_album = Convert.ToInt32(form["id_album"]);

我一直在研究如何做到这一点,但是遇到了困难,我该如何进行这个更新操作

【问题讨论】:

  • 你在 foto 类中没有类似 fotoToAdd.album 的导航属性吗?如果你有它,你可以设置像 fotoToAdd.album=_db.album.first...

标签: asp.net-mvc entity-framework foreign-keys


【解决方案1】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多