查看详细信息时,模型的属性为null

约瑟夫

我定义了一个模型,Item,它具有以下属性:

public class Item
{
    public bool Active { get; set; }
    public string ItemCode { get; set; }

    public int ItemId { get; set; }
    public string Name { get; set; }

    public Category Category { get; set; }
    public int CategoryId { get; set; }

}

我正在尝试从Item控制器的详细信息视图中引用Category。我在控制器中的代码是:

public ActionResult Details(int id = 0)
{
    Item item = db.Items.Find(id);
    if (item == null)
    {
        return HttpNotFound();
    }
    return View(item);
}

但是,当我在此处浏览item对象时,可以看到CategoryId设置正确,Category属性设置为null。因此,当我引用Item.Category.Name时,我得到的是空白结果。我曾尝试过将我的属性虚拟化(遵循在线教程),但这似乎无法解决问题。我究竟做错了什么?

亨克·莫利马

您可以通过将属性标记为virtual延迟加载属性Category

public virtual Category Category { get; set; }

访问属性后,这将向数据存储区触发另一个查询,以询问相关类别Categoryitem.Category.Name例如。

或者,您可以使用以下方法急于加载类别Include

Item item = db.Items
              .Include(item => item.Category)
              .FirstOrDefault(item => item.ID == id);

这将在1个查询中从数据存储中检索包含相关类别的项目。注意,我FirstOrDefault在这里代替Find,因为返回类型为IncludeisIQueryable<T>和not DbSet<T>

有关加载相关数据的更多信息,请参见本文

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何随时查看Ubuntu在登录时显示的详细信息?

来自分类Dev

SVN,在提交文件时查看详细信息

来自分类Dev

遍历带有外部模型详细信息的嵌套属性

来自分类Dev

当文本字段为NULL时,详细信息区域会垂直动态调整大小

来自分类Dev

当我为类别选择“详细信息”时,对象类别为null

来自分类Dev

当文本字段为NULL时,详细信息区域会垂直动态调整大小

来自分类Dev

获得“无法读取null的属性'parameters'”的详细信息

来自分类Dev

当详细信息为空时,不会显示空表单

来自分类Dev

django模型更改模型详细信息

来自分类Dev

查看更多错误详细信息

来自分类Dev

AngularJs查看用户详细信息

来自分类Dev

如何查看显卡详细信息?

来自分类Dev

“查看详细信息”窗口不会展开“收藏夹”属性

来自分类Dev

ViewHolder不会将字符串设置为TextView的文本。请查看详细信息

来自分类Dev

查看汽车详细信息,而不必为每个结果创建一个新页面

来自分类Dev

ViewHolder不会将字符串设置为TextView的文本。请查看详细信息

来自分类Dev

查看客户时如何使用Suitescript在Netsuite中获取当前登录的员工详细信息?

来自分类Dev

将鼠标悬停在特定的框上时,如何查看详细信息?

来自分类Dev

查看客户时,如何使用Suitescript在Netsuite中获取当前登录的员工详细信息?

来自分类Dev

单击按钮时在新页面中查看详细信息

来自分类Dev

构造JavaFX上下文菜单项时的查找模型详细信息

来自分类Dev

Ajax添加详细信息时出错

来自分类Dev

Ajax添加详细信息时出错

来自分类Dev

在选择时隐藏组件详细信息

来自分类Dev

如何查看`runtime / trace`产生的跟踪的详细信息?

来自分类Dev

如何使用SQL查看序列详细信息

来自分类Dev

以JSON格式查看表行详细信息中的内容

来自分类Dev

如何在Chrome上查看SSL证书的详细信息?

来自分类Dev

隐藏详细信息查看CodeBehind中的TemplateField

Related 相关文章

  1. 1

    如何随时查看Ubuntu在登录时显示的详细信息?

  2. 2

    SVN,在提交文件时查看详细信息

  3. 3

    遍历带有外部模型详细信息的嵌套属性

  4. 4

    当文本字段为NULL时,详细信息区域会垂直动态调整大小

  5. 5

    当我为类别选择“详细信息”时,对象类别为null

  6. 6

    当文本字段为NULL时,详细信息区域会垂直动态调整大小

  7. 7

    获得“无法读取null的属性'parameters'”的详细信息

  8. 8

    当详细信息为空时,不会显示空表单

  9. 9

    django模型更改模型详细信息

  10. 10

    查看更多错误详细信息

  11. 11

    AngularJs查看用户详细信息

  12. 12

    如何查看显卡详细信息?

  13. 13

    “查看详细信息”窗口不会展开“收藏夹”属性

  14. 14

    ViewHolder不会将字符串设置为TextView的文本。请查看详细信息

  15. 15

    查看汽车详细信息,而不必为每个结果创建一个新页面

  16. 16

    ViewHolder不会将字符串设置为TextView的文本。请查看详细信息

  17. 17

    查看客户时如何使用Suitescript在Netsuite中获取当前登录的员工详细信息?

  18. 18

    将鼠标悬停在特定的框上时,如何查看详细信息?

  19. 19

    查看客户时,如何使用Suitescript在Netsuite中获取当前登录的员工详细信息?

  20. 20

    单击按钮时在新页面中查看详细信息

  21. 21

    构造JavaFX上下文菜单项时的查找模型详细信息

  22. 22

    Ajax添加详细信息时出错

  23. 23

    Ajax添加详细信息时出错

  24. 24

    在选择时隐藏组件详细信息

  25. 25

    如何查看`runtime / trace`产生的跟踪的详细信息?

  26. 26

    如何使用SQL查看序列详细信息

  27. 27

    以JSON格式查看表行详细信息中的内容

  28. 28

    如何在Chrome上查看SSL证书的详细信息?

  29. 29

    隐藏详细信息查看CodeBehind中的TemplateField

热门标签

归档