加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何从Entity Framework / LINQ从特定表中提取元组列表?

发布时间:2020-12-15 04:02:41 所属栏目:百科 来源:网络整理
导读:我需要从实体框架的C#.NET中的一个大表中提取一对夫妇’ID’/’Name’的列表. 我尝试这个请求: ListTupleint,string list = (from res in db.Resource select new Tupleint,string(res.Resource_ID,res.Name)).ToList(); 但不幸的是我有这个错误: Only par
我需要从实体框架的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.

我不会不知道我如何提取这个框架的元组列表,我感到有点迷失了这个错误.
你能帮我理解和解决我的问题吗?

最好的祝福,

亚历克斯

解决方法

您可以通过选择匿名类型的中间步骤:
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,并获取你的元组.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读