我需要从实体框架的C#.NET中的一个大表中提取一对夫妇’ID’/’Name’的列表.
我尝试这个请求:
List<Tuple<int,string>> list = (from res in db.Resource select new Tuple<int,string>(res.Resource_ID,res.Name)).ToList();
但不幸的是我有这个错误:
Only parameterless constructors and initializers are supported in LINQ to Entities.
我不会不知道我如何提取这个框架的元组列表,我感到有点迷失了这个错误.
你能帮我理解和解决我的问题吗?
最好的祝福,
亚历克斯
@H_403_19@解决方法
您可以通过选择匿名类型的中间步骤:
db.Resource.Select(x => new { x.Resource_ID,x.Name }).AsEnumerable().Select(x => Tuple.Create(x.Resource_ID,x.Name)).ToList();
在Linq To Entities中创建一个元组不是一个受支持的操作,因此您必须选择一个匿名类型,这将相当于:
SELECT [Resource].[Resource_ID],[Resource].[Name]
然后通过AsEnumerable移动到LINQ to Objects,并获取你的元组.
@H_403_19@ @H_403_19@