我试图从我的数据库中返回一行,但是我收到以下错误
无法隐式转换类型' System.Collections.Generic.List<<匿名类型:int Id,string File,string Name>>'到' System.Collections.Generic.List< PDF.Models.EF_Model.PDF>'
这是在我的模型层中,在return语句中是发生错误的地方
internal List<EF_Model.PDF> Search_PDF(string _name)
{
using (var Context = new EF_Model.CoolerEntities())
{
var p = (from c in Context.PDFs
where c.Name == _name
select new { c.Id, c.File, c.Name }).Single();
return p;
}
}
我还尝试将ToList()
代替Single()
,但它也无法正常工作,我们如何解决此问题?
答案 0 :(得分:1)
您的方法希望返回EF_Model.PDF
,但您的linq查询会实例化匿名类型。
而是实例化PDF
类型:
return from c in Context.PDFs
where c.Name == _name
select c;
或者:
internal List<EF_Model.PDF> Search_PDF(string _name)
{
using (var Context = new EF_Model.CoolerEntities())
{
return Context.PDFs.Where(c => c.Name == _name).ToList();
}
}