不能从EF集合中提取元素

本文关键字:提取 元素 集合 EF 不能 | 更新日期: 2023-09-27 18:13:51

我需要通过id从视图到控制器选择项目,然后将项目发送到另一个视图。我的第一个视图,其中我发送项目id到编辑操作:

 @foreach (var item in Model)
    {
            <tr>
                <td>
                    @Html.Raw("<img style='width:80px; height:60px;' src='"data:image/jpeg;base64,"
                                + Convert.ToBase64String(item.Image) + "'" />")
                </td>
                <td>
                    @Html.ActionLink("Edit", "Edit", "Personal", new { id = item.Id }, null)
                </td>
                <td>
                    @Html.ActionLink("Remove", "Delete", "Personal", new { id = item.Id}, null)
                </td>
            </tr>
    }

我的编辑动作

 public ActionResult Edit(int id)
    {
        ApplicationUser au = db.Users.Find(User.Identity.GetUserId());
        Picture pic = new Picture();
        foreach (var item in au.Pictures)
        {
            if (id == item.Id)
            {
                pic = item;
            }
        }
        //Picture pic = new Picture { Id = id, Image = image};
        return View(pic);
    }

等待item

@model Dip_prj1.Models.Picture
@using Microsoft.AspNet.Identity
@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Edit</title>
</head>
<body>
    <div> 
             @Html.Raw("<img style='width:80px; height:60px;' src='"data:image/jpeg;base64,"
                                + Convert.ToBase64String(Model.Image) + "'" />")>
    </div>
    <div>
        @Html.ActionLink("Вернуться к списку", "UserDetails", "Personal", new { id = User.Identity.GetUserId() }, null)
    </div>
</body>
</html>

编辑控制器中出现问题,导致错误写入我发送空字节数组。

不能从EF集合中提取元素

感谢所有人的帮助,问题是在制作应用程序用户类型对象时,我忘了把它必须从另一个表加载集合的部分放在哪里。应该是ApplicationUser au = db.Users.Include(t => t.Pictures).FirstOrDefault(t => (t.Id) == user); This Include was clue