C# 如何使用实体框架在Linq中写入列表类型返回值?

C# 如何使用实体框架在Linq中写入列表类型返回值?,c#,.net,visual-studio-2008,c#-4.0,ado.net-entity-data-model,C#,.net,Visual Studio 2008,C# 4.0,Ado.net Entity Data Model,如何从下面的过程返回列表数据类型。如果我按F5,它会抛出以下错误: 错误1无法隐式转换类型 “System.Linq.IQueryable” 到 “System.Collections.Generic.List”。 存在一个显式转换(您是吗 缺少演员阵容?)C:\Documents and 设置\yusufk\Desktop\EFTestSolutions\WebApplicationTest1\WebApplicationTest1\Default.aspx.cs 101 61 Web应用程序

如何从下面的过程返回
列表
数据类型。如果我按F5,它会抛出以下错误:

错误1无法隐式转换类型 “System.Linq.IQueryable” 到 “System.Collections.Generic.List”。 存在一个显式转换(您是吗 缺少演员阵容?)C:\Documents and 设置\yusufk\Desktop\EFTestSolutions\WebApplicationTest1\WebApplicationTest1\Default.aspx.cs 101 61 Web应用程序测试1

我认为我应该重新安排或重新编码“选择新{….”

受保护列表GetPersonalsData2()
{
列出员工名单;
使用(FirmaEntities firmactx=新FirmaEntities())
{
personeller=(来自firmactx.Personals中的p
选择新的{p.ID,p.Name,p.Lastname});
返回personeller.ToList();
}
}
公营人员
{
公共int ID{get;set;}
公共字符串名称{get;set;}
公共字符串姓氏{get;set;}
}

此部件将返回匿名类型:

personeller = (from p in firmactx.Personals select new { p.ID, p.Name, p.SurName });
return personeller.ToList();
它需要:

personeller = (from p in firmactx.Personals 
               select new personel { Id = p.ID, 
                                     Name = p.Name, 
                                     SurName = p.SurName }).ToList();
或者,如果该集合的类型已经是
个人
,则可以执行以下操作:

personeller = (from p in firmactx.Personals select p).ToList();
或者,仅此而已:

personeller = firmactx.Personals.ToList();

在您发布的代码中,它试图返回
列表
(直接从IQueryable返回,另一个无效的强制转换),而不是
列表
,并且无法在两者之间转换,您需要处理相同的类型。

此部分返回的是匿名类型:

personeller = (from p in firmactx.Personals select new { p.ID, p.Name, p.SurName });
return personeller.ToList();
它需要:

personeller = (from p in firmactx.Personals 
               select new personel { Id = p.ID, 
                                     Name = p.Name, 
                                     SurName = p.SurName }).ToList();
或者,如果该集合的类型已经是
个人
,则可以执行以下操作:

personeller = (from p in firmactx.Personals select p).ToList();
或者,仅此而已:

personeller = firmactx.Personals.ToList();

在您发布的代码中,它试图返回
列表
(直接从IQueryable返回,另一个无效的强制转换)你需要处理相同的类型,而不是
List
并且不能在两者之间转换。尼克;谢谢你的帖子,但我需要Personels entites的p.ID、p.Name、p.姓氏值,所以我写了一个新类personel class。所以我应该返回值List type…@programmerist-在这种情况下,使用我的第一个选项,后面的选项“它需要:”。只需调用
返回personeller;
之后,就不需要第二个
.ToList()
.Nick;谢谢你的帖子,但我需要Personels entites的p.ID、p.Name、p.姓氏值,所以我编写了新类personel类。所以我应该返回值列表类型…@programmerist-在这种情况下,使用我的第一个选项,即后面的选项。”它需要是:“.return personeller;之后,不需要第二个
.ToList()