无法将类型从 IOrderedQueryable 隐式转换为 List
本文关键字:转换 List IOrderedQueryable 类型 | 更新日期: 2023-09-27 18:32:07
我在seminariolista =
行上收到以下错误:
无法将类型从 IOrderedQueryable 隐式转换为列表
public List<Seminario> Listarseminariomodal()
{
var seminariolista = new List<Seminario>();
try
{
using (var ctx = new ProyectoContext_())
{
seminariolista = ctx.Seminario.Where(x => x.modal == 1)
.OrderBy(x => x.orden);
}
}
catch (Exception)
{
throw;
}
return seminariolista;
}
视觉工作室截图
可能将其定义为
IEnumerable<Seminario> seminariolista = null;
并将其返回为
return seminariolista.ToList();
会工作。
但总的来说,在我看来,返回 List 对象不是一个好主意,除非您明确需要它。我会返回一个 IEnumeralible,以保持方法签名尽可能通用。因此,在我看来,您的代码的最佳解决方案,并且不知道您的应用程序和其余代码的要求:
public IEnumerable<Seminario> Listarseminariomodal()
{
IEnumerable<Seminario> seminariolista = null;
try
{
using (var ctx = new ProyectoContext_())
{
seminariolista = ctx.Seminario.Where(x => x.modal == 1)
.OrderBy(x => x.orden);
}
}
catch (Exception)
{
throw;
}
return seminariolista.ToArray();
}
请注意末尾的ToArray()
调用,以将 LINQ 内容隐藏在方法主体之外。