如何使用实体框架在 Linq 中编写列表类型返回值?
如何从以下过程返回 List
数据类型。如果我按 F5 它会抛出此错误:
错误 1 无法隐式转换类型 'System.Linq.IQueryable' 到 '系统.集合.通用.列表'。 存在显式转换(您是 缺少演员表?) C:\Documents 和 设置\yusufk\Desktop\EFTestSolutions\WebApplicationTest1\WebApplicationTest1\Default.aspx.cs 101 61 Web应用程序测试1
我认为我应该重新排列或重新编码“select new {. . . . . ” ?
protected List<personel> GetPersonalsData2()
{
List<personel> personeller;
using (FirmaEntities firmactx = new FirmaEntities())
{
personeller = (from p in firmactx.Personals
select new { p.ID, p.Name, p.SurName });
return personeller.ToList();
}
}
public class personel
{
public int ID { get; set; }
public string Name { get; set; }
public string SurName { get; set; }
}
How can I return List<personel>
data type from below procedure. If I press F5 it throw me this error:
Error 1 Cannot implicitly convert type
'System.Linq.IQueryable'
to
'System.Collections.Generic.List'.
An explicit conversion exists (are you
missing a cast?) C:\Documents and
Settings\yusufk\Desktop\EFTestSolutions\WebApplicationTest1\WebApplicationTest1\Default.aspx.cs
101 61 WebApplicationTest1
I think that I should rearrange or recode "select new {. . . . " ?
protected List<personel> GetPersonalsData2()
{
List<personel> personeller;
using (FirmaEntities firmactx = new FirmaEntities())
{
personeller = (from p in firmactx.Personals
select new { p.ID, p.Name, p.SurName });
return personeller.ToList();
}
}
public class personel
{
public int ID { get; set; }
public string Name { get; set; }
public string SurName { get; set; }
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这部分返回匿名类型:
它需要是:
或者如果该集合已经是
personal
类型,您可以这样做:或者,只是这样:
在您发布的代码中,它试图返回
List
(直接来自 IQueryable,另一个无效的转换)而不是List
并且无法在两者之间进行转换,您需要处理相同的类型。This part is returning an anonymous type:
It needs to be:
Or if that collection is of type
personal
already, you can do this:Or, just this:
In your posted code it's trying to return
List<yourAnonymousType>
(directly from the IQueryable, another invalid cast) instead ofList<personal>
and can't convert between the two, you need to be dealing with the same type.