首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用最大和最小的Entityframe Linq

使用最大和最小的Entityframe Linq
EN

Stack Overflow用户
提问于 2020-10-22 15:40:05
回答 1查看 37关注 0票数 0

我正尝试在Entityframe中使用最小和最大值作为日期时间字段的布尔值。我可以在SQL中做得很好,但是在Entityframe中,我不确定我错过了什么。该错误与bool之间的日期时间有关。

在SQL中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MeetingDate=case when Convert(varchar(10),min(md.StartDate),101)=Convert(varchar(10),max(md.StartDate),101) then Convert(varchar(10),min(md.StartDate),101) else Convert(varchar(10),min(md.StartDate),101)+' - '+Convert(varchar(10),max(md.StartDate),101) end

EF

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   var listofMeeting = (from m in db.Meetings
                            join md in db.MeetingDates on m.MeetingId equals md.MeetingId
                            join mf in db.MeetingFiles on md.MeetingId equals mf.MeetingId
                            join mv in db.MeetingVersions on mf.MeetingFileId equals mv.MeetingFileId
                            join fm in db.FileManagers on mf.FileManagerId equals fm.FileManagerId
                            join g in db.vwGuidelinePanels on m.GroupId equals g.GroupId
                            where g.GroupId == groupID && mf.FileCategoryItemDictionaryId == 755
                            select new PresentationLayer.Models.GuidelineVersion
                            {
                                GroupId = g.GroupId,
                                MeetingId = md.MeetingId,
                                MeetingDate = (md.StartDate). == max(md.StartDate) ? md.StartDate : min(md.StartDate) == max(md.StartDate),
                            }).GroupBy(g => new
                            {
                                g.MeetingId,
                                g.GroupId
                            }).ToList();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-22 15:50:02

在SQL中,minmax之所以有效,是因为您要么在稍后执行group by,要么在查询中没有选择任何非聚合值。

在LINQ中,你需要先做Group By。

如果你没有分组依据(你想把所有的东西都放到一个大的组中),只需要使用一个常量,比如group by中的1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
group md by 1 into g
let minDate = g.Min(md => md.StartDate)
let maxDate = g.Max(md => md.StartDate)
select new Meeting
{
    MeetingDate = minDate == maxDate ? minDate.ToString() : minDate + " - " + maxDate
}

更新

根据更新后的问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from m in db.Meetings
join md in db.MeetingDates on m.MeetingId equals md.MeetingId
join mf in db.MeetingFiles on md.MeetingId equals mf.MeetingId
join mv in db.MeetingVersions on mf.MeetingFileId equals mv.MeetingFileId
join fm in db.FileManagers on mf.FileManagerId equals fm.FileManagerId
join g in db.vwGuidelinePanels on m.GroupId equals g.GroupId
where g.GroupId == groupID && mf.FileCategoryItemDictionaryId == 755
group new { md.StartDate /* add other data you're need here as necessary */}
    by new
    {
        g.MeetingId,
        g.GroupId
    } into grp
let minDate = grp.Min(md => md.StartDate)
let maxDate = grp.Max(md => md.StartDate)
select new PresentationLayer.Models.GuidelineVersion
{
    GroupId = grp.Key.GroupId,
    MeetingId = grp.Key.MeetingId,
    MeetingDate = minDate == maxDate ? minDate.ToString() : minDate + " - " + maxDate
}

我还建议您考虑使用导航属性,以避免所有这些显式连接。一旦您开始从LINQ-first的角度考虑问题,而不是尝试直接从SQL转换,您可能会发现它简化了查询。这可能会变得更像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from g in db.vwGuidelinePanels
from m in g.Meetings
where m.MeetingFiles.Any(mf => mf.FileCategoryItemDictionaryId == 755)
let minDate = m.MeetingDates.Min(md => md.StartDate)
let maxDate = m.MeetingDates.Max(md => md.StartDate)
select new PresentationLayer.Models.GuidelineVersion
{
    GroupId = g.GroupId,
    MeetingId = m.MeetingId,
    MeetingDate = minDate == maxDate ? minDate.ToString() : minDate + " - " + maxDate
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64485752

复制
相关文章
漫画:如何在数组中找到和为 “特定值” 的三个数?
前一段时间,我们介绍了LeetCode上面的一个经典算法题【两数之和问题】。 这一次,我们把问题做一下扩展,尝试在数组中找到和为“特定值”的三个数。 题目的具体要求是什么呢?给定下面这样一个整型数组: 我们随意选择一个特定值,比如13,要求找出三数之和等于13的全部组合。 由于5+6+2=13, 5+1+7=13,3+9+1=13,所以最终的输出结果如下: 【5, 6,2】 【5, 1,7】 【3, 9,1】 小灰的思路,是把原本的“三数之和问题”,转化成求n次“两数之和问题”。 我们以上
腾讯NEXT学位
2020/10/14
2.4K0
将Excel特定某列数据删除
我们之前将表单内的某列数据分到新的excel文件里,那么如何批量将新Excel文件这一特定列进行删除呢?
繁华是客
2023/03/03
2K0
laravel 预加载特定的列
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/112351.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/08
7150
laravel 预加载特定的列
漫画:如何在数组中找到和为 “特定值” 的两个数?
什么意思呢?我们来举个例子,给定下面这样一个整型数组(题目假定数组不存在重复元素):
小灰
2020/10/09
3.1K0
漫画:如何在数组中找到和为 “特定值” 的两个数?
如何根据特定值找到IDOC
IDOC的官方名称叫Intermediate Document,用于两个模块,或者两个系统间交换信息。
用户5495712
2020/10/22
1.8K0
如何根据特定值找到IDOC
治数如治水,数据治理和数据创新难在哪?
数字经济时代,数据如水,滋润万物生长。数据治理则恰如治水,数据创新或数据泛滥均维系于此,重要性甚比数据本身。
大数据在线
2022/09/04
2670
治数如治水,数据治理和数据创新难在哪?
判断两数之间的最大值
判断两数之间的最大值 可直接利用Java自带的函数(abc 绝对值函数)再结合三元运算符实现 public class TestMax { public static void main(String[] args) { System.out.println(max(5,6)); } private static int max(int i, int j) { // TODO Auto-generated method stub // abc 绝对值函数 return
呆呆
2021/10/06
5640
根据表格特定列的内容来追加图标 原
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
1.4K0
如何在 40 亿个非负整数中找到所有未出现的数?
所以,如果一个区间填不满,也就意味着这个区间缺少了数,我们把这些区间拿出来,再依次按照位图法的那一套处理下,就能得到这些区间中未出现的数。
飞天小牛肉
2022/04/11
4340
如何在 40 亿个非负整数中找到所有未出现的数?
TensorFlow 指标列,嵌入列
一般地,机器学习、深度学习 feed 进来的数据要求为数值型。如果某列取值为字符型,需要做数值转换,今天就来总结下 TensorFlow 中的指标列和嵌入列。
double
2018/07/25
1.4K0
TensorFlow 指标列,嵌入列
R语言:以多列标准筛选特定行
在本期,我们会运用一个病例数据为大家进行讲解示范,这也是大猫课堂第一次针对阅读者提问进行的反馈,也希望大家能提供一些有趣的问题,来和我们一起分享,同时也感谢读者孤鹜惜秋,与我们分享其问题。话不多说,马上进入正题。
用户7652506
2020/08/12
2K0
R语言:以多列标准筛选特定行
SQL如何只让特定列中只显示一行数据
我们如果在某个表里面,如何让其中某列的其中一行数据,只是显示一次呢? 示例表 StudentID Last_Name First_Name Gender GradeLevel Class Pupil_Email Relationship Pupil_Parent_Email 5013 Wang Zack M Grade 9 Senior SG9 B 5013@example.com 爸爸 5013a@qq.com 5013 Wang Zack M Grade 9 Senior SG9 B 5013@exam
繁华是客
2023/03/03
8.9K0
C++ 连接数据库的入口和获取列数、数据
林冠宏-指尖下的幽灵
2018/01/02
2.1K0
tensorflow | 随机数
使用tensorflow自带的随机种子函数来产生的随机数还是随机的,一脸尴尬。先介绍随机种子的使用。再来介绍随机函数。 ---- 随机种子 案例一 结果不一样 案例二 结果一样 随机函数 正态分布 截断正态分布 均匀分布 数据重排 例子 随机种子 案例一: 结果不一样 import tensorflow as tf b = tf.random_normal([1],seed = tf.set_random_seed(1234)) with tf.Session() as sees1: pri
努力在北京混出人样
2018/05/14
2K0
TensorFlow 返回tensor的 维数
  如果tensor是用调用tensorflow框架定义的,那么用 tensor_name.shape 即可返回tensorflow 的维数:
JNingWei
2018/09/28
5400
tensorflow | 随机数
使用tensorflow自带的随机种子函数来产生的随机数还是随机的,一脸尴尬。先介绍随机种子的使用。再来介绍随机函数。 ---- 随机种子 案例一 结果不一样 案例二 结果一样 随机函数 正态分布 截断正态分布 均匀分布 数据重排 例子 随机种子 案例一: 结果不一样 import tensorflow as tf b = tf.random_normal([1],seed = tf.set_random_seed(1234)) with tf.Session() as sees1:
努力在北京混出人样
2019/02/18
1.2K0
教程 | 如何在TensorFlow中高效使用数据集
选自TowardsDataScience 作者:Francesco Zuppichini 机器之心编译 处理并使用数据集是深度学习任务非常重要的组成部分。在本文中,作者 Francesco Zuppichini 将教你使用 TensorFlow 的内建管道向模型传递数据的方法,从此远离「feed-dict」。本文内容已更新至最新的 TensorFlow 1.5 版本。 相关代码地址:https://github.com/FrancescoSaverioZuppichini/Tensorflow-Datase
机器之心
2018/05/10
1.5K0
点击加载更多

相似问题

数据集中的列数

21

如何从tensorflow数据集中选择特定的列?

20

如何在pandas数据集中找到最大值

235

如何在python中获取数据集中的列数

11

从星火数据集中选择某些列和特定列的最大值

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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