Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC 5空应用程序用户_C#_Linq_Model_Null_Asp.net Mvc 5 - Fatal编程技术网

C# ASP.NET MVC 5空应用程序用户

C# ASP.NET MVC 5空应用程序用户,c#,linq,model,null,asp.net-mvc-5,C#,Linq,Model,Null,Asp.net Mvc 5,我有一个带有[QuestionID][Description][User\u id]的表 public int QuestionID { get; set; } public string Description { get; set; } public ApplicationUser user { get; set; } 当用户使用表单发送问题并正确保存所有字段时,问题存储在数据库中 我从QuestionController向我的视图发送一份包含所有问题的列表: return View(db

我有一个带有[QuestionID][Description][User\u id]的表

public int QuestionID { get; set; }
public string Description { get; set; }
public ApplicationUser user { get; set; }
当用户使用表单发送问题并正确保存所有字段时,问题存储在数据库中

我从QuestionController向我的视图发送一份包含所有问题的列表:

return View(db.Questions.ToList());
在我看来,我使用该列表:

@foreach (var item in Model)
{
    <tr>
        <td class="td-title">
            @Html.DisplayFor(modelItem => item.QuestionID)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Description)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.user.id)
        </td>
   </tr>
...
表单后的数据库结果示例:

[QuestionID]  [Description]  [user_Id]
      1          blalbla..    397d27d...
您是否尝试过“publicvirtualApplicationUser用户{get;set;}”


我认为您必须将其设置为虚拟,才能访问ApplicationUser属性,或将视图中的代码更改为“@Html.DisplayFor(modelItem=>item.user)”

在将ID传递给视图之前,控制器中的ID是否为空?为什么不使用视图模型“复杂”对象的序列化(在您的案例中是嵌套/分层的)通常不是由MVC很好地执行的)。。。尝试将传递到视图的内容简化为一个平面ViewModel对象。或者尝试类似((ApplicationUser)item.user.id的操作。当我从列表所在的同一控制器中的数据库中获取一个问题对象时,它也会给出一个空用户(尽管它不是空的,而是数据库)。因此,最佳做法是使用视图模型并从我的问题模型中删除ApplicationUser?首先显示用于填充db.Questions的代码。您正在使用EntityFramework吗?如果是,并且ApplicationUser是一个实体,则您可能没有为ApplicationUser的问题(使用外键)正确设置导航属性,或者您用于检索信息的查询不正确,或者EF中的映射不正确,如果您首先使用datbase,则它们应该是正确的,如果您先使用代码,那么它可能是一个bug。请编辑问题,以便您现在可以看到我是如何填充的,以及生成的结果。看起来一切都很顺利。
[QuestionID]  [Description]  [user_Id]
      1          blalbla..    397d27d...