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

c# – 元组 – LINQ to Entities中仅支持无参数构造函数和初始值

发布时间:2020-12-15 22:06:52 所属栏目:百科 来源:网络整理
导读:参见英文答案 How can I extract a list of Tuple from a specific table with Entity Framework / LINQ?????????????????????????????????????2个 我想从数据库加载元组列表.但是,当尝试如下.我收到一个错误“在LINQ to Entities中只支持无参数构造函数和初
参见英文答案 > How can I extract a list of Tuple from a specific table with Entity Framework / LINQ?????????????????????????????????????2个
我想从数据库加载元组列表.但是,当尝试如下.我收到一个错误“在LINQ to Entities中只支持无参数构造函数和初始值设定项”.

List<Tuple<string,DateTime?>> schdule = new List<Tuple<string,DateTime?>>();
schdule = Entities.ScheduleDates.Where(x => x.Code == cCode).Select(x => new Tuple<string,DateTime?>(x.Key,x.Time)).ToList<Tuple<string,DateTime?>>();

但是,通过使用匿名类型,我不会收到任何错误.

var tempSchedule = Entities.ScheduleDates.Where(x => x.Code == cCode).Select(x => new { x.Key,x.Time }).ToList();

为什么我面临上述错误.

解决方法

由于LINQ to Entities查询被转换为SQL查询,因此您执行的每个操作都必须具有SQL中的等效项.

只是方法的构造函数无法翻译.

但实例化一个匿名类型可以,它将简单地翻译为:

SELECT someAlias.Key,someAlias.Time ...

(编辑:李大同)

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

    推荐文章
      热点阅读