首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >LINQ到实体-M到M选择返回比需要更多的列

LINQ到实体-M到M选择返回比需要更多的列
EN

Stack Overflow用户
提问于 2018-11-12 06:10:21
回答 1查看 31关注 0票数 0

我有以下情况,效果很好:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
IQueryable<Experiment> experiments1 = _db.Experiments.Where(e => e.Projects.Any(p => p.Id == project.Id));
IQueryable<Experiment> experiments2 = _db.Experiments.Where(e => e.Tools.Any(m => m.Project.Id == project.Id));
var experimentsList = experiments1.Union(experiments2).OrderBy(e => e.Date).Select(e => new
    {
    e.Id,
    e.Name,
     e.Date
    }).ToList();

通过检查SQL,这将转换为从联合中正确提取IdNameDate的1 SQL查询。

当我使用多到多个连接表执行连接时,就会出现问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var experimentsList = experiments1.Union(experiments2).OrderBy(e => e.Date).Select(e => new
{
  e.Id,
  e.Name,
  e.Date,
  e.Types.Select(t => t.Name)
  // or also just e.Types
}).ToList();

由于某些原因,生成的SQL查询不仅返回“需要”列,而且返回--实验表中的所有列+附加的指定列(即类型的名称)。

这在表演上造成了相当大的损失。

顺便说一句,在我稍后需要执行的代码中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
experimentsList.Select(e => new
{
  e.Id,
  e.Name,
  e.Date,
  Types = string.Join(", ", e.Types)
})

因此,我需要更快的方式,在内存Id,名称,日期+一个类型列表。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-11-12 06:21:29

你能试试这个吗?列名可能需要更改。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var result = from exp in _db.Experiments
join t in _db.Types on exp.TypeID = t.Id
select new
{
  exp.Id,
  exp.Name,
  exp.Date,
  t.Name
}).ToList();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53263926

复制
相关文章
APK瘦身全面总结——如何从32.6M到13.6M
前言 之前我简单介绍了关于svg图片瘦身的问题,在公司,瘦身这个问题是我提出来的,所以这锅我背了。公司项目是32.6M,我给自己的要求就是低于20M。上周花了一个星期瘦身,至于为什么花了一周,主要是s
我就是马云飞
2018/02/05
9460
APK瘦身全面总结——如何从32.6M到13.6M
Android APK瘦身全面总结——如何从32.6M到13.6M
之前我简单介绍了关于svg图片瘦身的问题,在公司,瘦身这个问题是我提出来的,所以这锅我背了。公司项目是32.6M,我给自己的要求就是低于20M。上周花了一个星期瘦身,至于为什么花了一周,主要是svg适配问题我被搞蒙蔽了。然后发现还要改大量代码,想想也就算了,又换了另一种瘦身方法。 很多人是因为这标题而来的,怎么可能,32.6M的居然可以变成13.6M。下面容我慢慢道来。
Android技术干货分享
2019/06/15
1.8K0
求m到n之间的素数和(函数)python
输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。
叶茂林
2023/07/30
2640
Oracle查询第m到第n条数据
这种方法是最优方法,因为该方法进行排序后取值,所以能够保证两次取值都会取出相同的值。
SuperHeroes
2019/03/12
1.4K0
从M-P模型到神经网络
对于神经元的研究由来已久,1904年生物学家就已经知晓了神经元的组成结构。在人脑中有数以亿计的神经元,每个神经元最主要的部分就是树突和轴突,一个神经元通常有多个树突但是只有一个轴突。树突接收来自外界的电信号,电信号经过细胞体的处理后经由轴突发送出去。一个神经元通常有多个树突但是只有一个轴突,树突与其他神经元的轴突相连,神经元间通过这样的方式传递和处理信号,并控制着肌肉的收缩。神经元的结构如下图所示:
Here_SDUT
2022/09/19
1.1K0
从M-P模型到神经网络
我们是如何将App的大小从31M减少到2.6M的?
然后呢? 首先,将我们的任务简化为三个点。 “近期动态” “视频动态” “音频动态” 最开始我们都很兴奋,只用了2到3天就完成了“近期动态”这一功能。毕竟对于我们来说,这是一项非常简单和熟悉的任务。 然后我协助Atul开发了视频动态功能。因为我还有其他几个项目,所以大部分时间我只在Android的视频库上进行研究,他会尝试一些实践性的代码。 “视频动态”功能完成了,但是…… 然后有一天,他告诉我他将软件压缩到了10M! 其实这个大小已经很不错了,但我还是很“固执”。我尝试使用一些本地开发工具和方
用户1263954
2018/04/08
8490
我们是如何将App的大小从31M减少到2.6M的?
算法-1到n中所有和为m的组合
《算法-1到n中所有和为m的组合》是计算机相关专业的一类面试题。该文介绍了如何通过递归算法求解此类问题,并给出了具体的代码实现。
chaibubble
2018/01/02
1.9K0
从Approx_Count_Distinct到M7的CPU集成
昨天和朋友交流,联想起Oracle的两个特性,approx_count_distinct 和 SQL in Silicon,从软件到硬件,从典型SQL入手的优化,Oracle一步一步走向细节和性能的极致。 在Oracle 12c中,有一个新的函数被引入进来 - approx_count_distinct 。这个函数的作用是,当我们进行Count Distinct计算时,给出一个近似值。 TOM说,这个函数会带来5x ~ 50x的性能提升,精度可以达到97%以上。在不需要绝对精确的返回值时,这个函数可以发挥其
数据和云
2018/03/05
8800
从Approx_Count_Distinct到M7的CPU集成
【Python】循环语句 ⑤ ( range 语句 | for 循环本质遍历序列 | 生成由 0 开始到 n 的序列 | 生成由 m 到 n 的序列 | 生成由 m 到 n 的步长为 k 的序列 )
上述语法中的 数据集 是 序列类型 , 该类型变量 用于存储一系列有序的元素 , 常见的序列类型有 :
韩曙亮
2023/10/11
2260
【Python】循环语句 ⑤ ( range 语句 | for 循环本质遍历序列 | 生成由 0 开始到 n 的序列 | 生成由 m 到 n 的序列 | 生成由 m 到 n 的步长为 k 的序列 )
将 Linux 移植到 M1 Mac 真的太难了!
【CSDN 编者按】自去年苹果自研 M1 芯片发布之后,激发了无数用户的体验热情,与此同时,也吸引大批开发者在 M1 上开启探索模式。其中,国外一位资深操作系统移植专家 Hector Martin 发起了一项名为「Asahi Linux」项目,通过众筹的方式为苹果 M1 系列新机移植 Linux 系统。
AI科技大本营
2021/04/21
3.1K0
将 Linux 移植到 M1 Mac 真的太难了!
NVIDIA发布Maxwell架构的Tesla M40/M4.Tesla M60/M6
NVIDIA 发布了新的Maxwell架构的Tesla卡,分别是Tesla M40,Tesla M4,Tesla M60,Tesla M6。
GPUS Lady
2018/03/30
2.3K0
NVIDIA发布Maxwell架构的Tesla M40/M4.Tesla M60/M6
被吐槽 GitHub仓 库太大,直接 600M 瘦身到 6M,这下舒服了
忙里偷闲学习了点技术写了点demo代码,打算提交到我那 2000Star 的Github仓库上,居然发现有5个Issues,最近的一条日期已经是2022/8/1了,以前我还真没留意过这些,我这人懒得很,本地代码提交成功基本就不管了。
程序员小富
2023/04/11
1.1K0
压缩 20M 文件从 30 秒到 1 秒的优化过程
有一个需求需要将前端传过来的10张照片,然后进行进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是连续前端所传图片的大小越来越大的时候,耗费的时间同时急剧增加,最后测了一下压缩20M的文件竟然需要30秒的时间。压缩文件的代码如下。
JAVA葵花宝典
2020/11/13
5740
压缩 20M 文件从 30 秒到 1 秒的优化过程
压缩20M文件从30秒到1秒的优化过程
有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是随着前端所传图片的大小越来越大的时候,耗费的时间也在急剧增加,最后测了一下压缩20M的文件竟然需要30秒的时间。压缩文件的代码如下。
猿天地
2019/09/06
6150
压缩20M文件从30秒到1秒的优化过程
java中请给出例子程序:找出n到m之间的质数。
更多请看:https://blog.csdn.net/qq_44639795/article/details/103144403
马克java社区
2021/03/09
6040
java中请给出例子程序:找出n到m之间的质数。
小程序支持连Wi-Fi,代码包到4M
小程序又开发新能力了:1 更多硬件连接功能等着你。在商场等场所,用户以往要用微信连Wi-Fi,要扫二维码并关注公众号,点击菜单里的“连Wi-Fi”才能使用上网络。连个Wi-Fi何必让用户经过两道坎?
ytkah
2018/03/06
1.2K0
小程序支持连Wi-Fi,代码包到4M
每天一道leetcode92-反转m到n处的链表
题目 每天一道leetcode92-反转m到n处的链表 分类:链表 中文链接: https://leetcode-cn.com/problems/reverse-linked-list-ii/ 英文链接 https://leetcode.com/problems/reverse-linked-list-ii/ 题目详述 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n =
乔戈里
2019/09/17
1.1K0
python 生成随机矩阵_matlab建立m行n列矩阵
python中有两个模块可以生成随机数,该博客以的numpy模块为例进行生成随机数。(因为矩阵要生成大量的随机数据,故推荐使用numpy模块生成随机数)
全栈程序员站长
2022/11/01
1K0
全球新冠确诊破200万,我们为什么比以往更需要3M?
据JHU的实时数据显示,截至本文停笔的北京时间4月16日10时,全球新冠累计确诊已达2062485例;累计死亡病例逾13.7万,达136908例。
新智元
2020/04/20
4280
全球新冠确诊破200万,我们为什么比以往更需要3M?
Sony RX0M1-M2外接M43接口改装
两者所对应的传感器尺寸不同,同时物理规格也不一样,MFT的卡口直径46.5mm,法兰距38.6mm,EF的直径是54mm,法兰距44.14mm。
云深无际
2023/02/27
1.1K0
Sony RX0M1-M2外接M43接口改装

相似问题

LINQ到实体选择需要很长时间

13

在LINQ到实体的选择中添加更多属性

10

Linq到实体选择Distinct

51

LINQ到实体选择New

13

linq选择m:n用户:组

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文