Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/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
Linq 正在获取Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[ProjectName.DTOs.ProjectDTO]而不是实际数据_Linq_Asp.net Core_Entity Framework Core - Fatal编程技术网

Linq 正在获取Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[ProjectName.DTOs.ProjectDTO]而不是实际数据

Linq 正在获取Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[ProjectName.DTOs.ProjectDTO]而不是实际数据,linq,asp.net-core,entity-framework-core,Linq,Asp.net Core,Entity Framework Core,我正在做我的.NETMVC核心项目。我试图通过在控制器中使用LINQ连接两个表来获得项目名称。 我的控制器代码: public IActionResult Projects() { var projectName = from p in _context.Tbl_Projects join d in _context.Tbl_MyOfficeDocumets on p.Id equals d.Project_ID

我正在做我的.NETMVC核心项目。我试图通过在控制器中使用LINQ连接两个表来获得项目名称。 我的控制器代码:

public IActionResult Projects()
{
    var projectName = from p in _context.Tbl_Projects
                      join d in _context.Tbl_MyOfficeDocumets on p.Id equals d.Project_ID
                      select new ProjectDTO { ProjectName = p.ProjectName };

    ProjectDTO proj = new ProjectDTO { ProjectName = projectName; }

    return View(proj);
}
和Razor查看页面:

<table>

<tr>
   <td>Your Projects</td>
   <td>Description</td>
   <td>Created On</td>
</tr>

@foreach(var item in Model.listOfProjects)
<tr>
   <td>@Model.ProjectName</td>  <-- Here I am getting that unusual response
   <td>@item.Description</td>
   <td>@item.CreatedOn</td>
</tr>

</table>

你的项目
描述
创建于
@foreach(Model.listOfProjects中的var项)

@Model.ProjectName您已创建查询并将其分配给DTO,这是错误的

public IActionResult Projects()
{
    var query = from p in _context.Tbl_Projects
                join d in _context.Tbl_MyOfficeDocumets on p.Id equals d.Project_ID
                select new ProjectDTO { ProjectName = p.ProjectName };
  
    return View(query);
}

您第二次将ProjectDTO绑定到字符串ProjectName。我不明白为什么当您已经有ProjectDTO时,仍然要再次绑定。您可以像这样使用
ProjectDTO proj=new ProjectDTO{ProjectName=ProjectName.ProjectName;}