【发布时间】:2015-11-06 14:41:57
【问题描述】:
我有这个动作:
public ActionResult Index(int? idCursos)
{
var usuarios = db.Usuario.ToList();
if(!(idCursos == null))
{
usuarios = from Usuario in db.Usuario
from Relaciones in db.Relaciones
where Relaciones.Cursos.idCurso == idCursos
select new
{
Nombre = Usuario.Nombre,
Apellido = Usuario.Apellido,
Usuario.DNI,
};
}
return View(usuarios);
}
我收到了这个错误:
错误 1 无法将类型
System.Linq.IQueryable<AnonymousType#1>隐式转换为System.Collections.Generic.List<LibreriaEntidad.Usuario>。存在显式转换(您是否缺少演员表?)
知道如何解决这个问题吗?
【问题讨论】:
-
我已经尝试过了,我将查询名称更改为“查询”,然后写入,usuarios = query.ToList();但错误是一样的。 “错误 1 无法将类型 'System.Collections.Generic.List
' 隐式转换为 'System.Collections.Generic.List '” -
那是因为你的
select new { },它引入了匿名类型。要么删除它,要么将查询存储到一个新变量中,然后将该变量返回到您的视图中。 -
这就是我正在寻找的答案,谢谢,所以我应该选择新的 usuario?
-
对不起,我看错了。您似乎想从此方法返回两种不同类型的结果,这是不可能的。如果用户通过
idCursos,你到底想返回什么? -
一个适合“哪里”的Usuarios对象
标签: asp.net-mvc