除登录用户外,MVC 5 ApplicationUser始终为null

时间:2015-03-27 06:30:10

标签: asp.net-mvc entity-framework

我修改了ApplicationUser以包含自定义属性,并将其包含在与我的其余模型一起的单个dbcontext中。使用帐户功能一切正常。

我有Note Model,包括ApplicationUser Author。

当我尝试获取所有笔记的列表时,它们都返回到列表中。如果作者是登录用户,则作者是正确的。否则,作者为空。

我通过以不同用户身份登录来尝试此操作,如果是登录用户,我只能获得作者。

我一直在寻找一个解决这个问题好几个小时,并且找不到任何人遇到这个。

我不确定我能提供什么代码,因为这在某种程度上是有效的。我认为必须有一个我忽略的设置,阻止用户访问其他用户信息。我可以看到这是一个选项,我理解它是如何有用的,但无论如何这都是由管理员检索的。

正在使用MVC 5和EF6。

编辑: 以下是获取Notes的linq查询:

var notes = db.Notes.ToList();

以下是作者在Notes模型中的表现:

    [Required]
    [Display(Name = "Created By")]
    public ApplicationUser Author { get; set; }

我正在成功获取所有笔记的列表。它只是未创建的任何笔记的作者,但登录用户将作者设为null。

谢谢

1 个答案:

答案 0 :(得分:0)

在我发布之后点击了它,并意识到ApplicationUser Author应该是一个虚拟财产。