LINQ 中的日期范围重叠问题

2024-01-06

表中给定特定记录的日期范围(例如特定字段“名称”)

如果有人试图在之前的日期范围内插入该名称,则不应允许这样做。

我在这里尝试过一些代码看看这个......

if (dataContext.TableAs.Where(
    x => x.EndDate > StartDate &&
    x.Name == Name).Count() == 0)
{
    //insert record
}

但并不总是成功。

谁能建议我在这里缺少什么?

我已经在 SQL 中尝试过以下查询,如何在 LINQ 中使用上面的代码

SELECT COUNT(*) FROM TableA WHERE ('2012-04-02' between StartDate and EndDate or '2012-08-28' 
between StartDate and EndDate or StartDate between '2012-04-02' and  '2012-08-28' or       EndDatebetween '2012-04-02' and  '2012-08-28' ) and Name='Test'

尝试这个;

if (dataContext.TableAs
            .Where(x => x.Name == Name)
                .Max(x  => x.EndDate) < StartDate)

编辑-对于问题的第二部分

DateTime Date1 = new DateTime("2012-04-02");
DateTime Date2 = new DateTime("2012-08-28");

var query = (dataContext.TableAs
            .Where(x => x.Name == "Test")
            .Where(x => (x.StartDate >= Date1 && Date1 <= x.EndDate)
                    || (x.StartDate >= Date2 && Date2 <= x.EndDate)
                    || (Date1 >= x.StartDate && x.StartDate <= Date2)
                    || (Date1 >= x.EndDate && x.EndDate <= Date2))).Count();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LINQ 中的日期范围重叠问题 的相关文章

随机推荐

  • 如何测试 JUnit Jupiter (JUnit 5) 扩展

    有没有办法集成测试我的 JUnit Jupiter 扩展 当然 我可以测试扩展使用的良好案例 但我想测试以下内容 它是否按预期失败了测试 测试结束时所写的报告是否正确 有对此有一些内置支持吗 没有明确的 Jupiter 扩展测试框架 但在
  • 测距信标仅在应用程序运行时起作用?

    当应用程序未运行时 我很难让它发挥作用 我有locationManager didRangeBeacons inRegion 已实现 并且当应用程序在前台或后台运行时调用它 但是当我退出应用程序并锁定屏幕时它似乎没有执行任何操作 位置服务图
  • java 中的预输入/增量搜索

    我们有一个搜索结果映射列表 例如一个简单的 url 映射可能看起来像 stackoverflow gt www stackoverflow com 乔尔 gt www joelonsoftware com 因此搜索确切的短语效果很好 现在我
  • App Engine 延迟:追踪内存泄漏

    我们有一个 App Engine 应用程序 它将许多相对较大的文件写入 Google Cloud Store 这些文件是动态创建的 CSV 因此我们使用 Python 的StringIO StringIO作为缓冲区和csv writer作为
  • Scala 中的 Akka,感叹号和问号

    感叹号 和 有什么区别 和问号 向 Actor 发送消息时 myActor Hello value1 myActor Hello value1 无耻抄袭 惊人的 官方文档 http doc akka io docs akka 2 4 1 s
  • 将字符串编码为 ascii

    我有一个很长的字符串 我想将其编码为 ascii 我正在做 s s encode ascii replace 但我得到 ascii codec can t decode byte 0xc3 in position 2646 ordinal
  • 现有的 .NET 单元测试框架有什么区别?

    关于什么使一个人比另一个人更好 我听到了许多不同的意见 但是任何人都可以提供一个技术解释来解释为什么我应该选择一个单元测试框架而不是另一个 例如 我使用 Visual Studio Team System 为什么我要选择开源测试框架 NUn
  • DisplayMessageActivity 无法解析为类型构建第一个 Android 应用程序

    嗨 我刚刚开始开发第一个 Android 应用程序开发者 android com 首先 我从 S O 那里了解了许多错误根源及其解决方案 但我一直在试图弄清楚这个说法 DisplayMessageActivity 无法解析为类型 而我们必须
  • 构建时未找到 android.os.ServiceManager

    我在构建 android 源代码时遇到以下错误 我在其中添加了使用 android os ServiceManager 的自定义应用程序 cannot find symbol symbol class ServiceManager loca
  • 如何处理库中的函数弃用?

    我正在开发一个 Java 库 并想从中删除一些函数 我这样做的原因是公共 API 和设计清理 有些对象具有设置器 但应该是不可变的 某些功能已通过不同的方法实现得更好 更清晰 等等 我已将这些方法标记为 已弃用 并希望最终删除它们 目前我正
  • C# 多个字符串包含[重复]

    这个问题在这里已经有答案了 基本上我想检测多个字符串 当前的代码示例是 if str3 Contains example1 continue 我如何添加 example1 example2 和 example3 您可以使用Linq如果你想用
  • CSS 类选择器不起作用

    我正在尝试使用 HTML 和 CSS 制作自定义警报框 容器的 ID 为 xAlert 并且有 3div其中 一个用于标题 一个用于描述 一个用于操作 如 确定 或 取消 到目前为止 这是我的代码 xAlert width 368px 40
  • Wordpress 本地服务器到实时主机

    我正在开发一个 WordPress 网站 我将文件 wordpress 上传到我的实时主机 所以我的 WordPress 新的实时 url 网站就像这个示例 urlhttp mywordpress com http mywordpress
  • 如何在Spring JUnit测试中WEB-INF/spring/webmvc-config.xml配置正确

    我有一个基于 Maven 的 Spring 3 0 项目 Web 应用程序的 Spring 配置文件位于
  • LTE堆栈协议开发

    在阅读一篇有关 LTE 的文章时 我遇到了一个术语 LTE 堆栈协议开发 遗憾的是 没有关于这个术语的进一步解释 当我在谷歌上查找时 它发现了 LTE 协议开发的所有职位空缺 所以问题是 LTE 堆栈协议开发 到底是什么 如果可能的话 我想
  • 欧拉计划 3 - 为什么这个方法有效?

    13195 的质因数是 5 7 13 和 29 数字 600851475143 的最大质因数是多少 我用自己的方式在Project Euler上解决了这个问题 速度很慢 然后我在某人的github帐户上找到了这个解决方案 我不明白为什么它有
  • 所有级别的日志中每个用户/会话都有唯一的 ID? Log4J?

    我们正在进行一些性能测试 以确定应用程序的哪些步骤需要多少时间 当然 使用正则表达式轻松解析 过滤日志是一个魅力 针对问题 我们的jsf应用程序被分成几个项目 这些项目被其他 非jsf 应用程序使用 我的第一个方法是 if logger i
  • VBA 中 Range() 的 .Value 属性

    我见过的一些 Excel VBA 代码没有使用 Range 对象上的 Value 属性 例如 myX Range A1 而不是 myX Range A1 Value 这仅仅是因为范围对象的默认行为是返回单元格中的值吗 是否有一个时候我会no
  • UITableView 普通样式部分标题在搜索视图上重绘

    当 tableView 位于搜索栏显示控制器的后台时 有人成功地重新加载了 tableView 吗 看照片看看发生了什么 我有一个带有搜索显示控制器的 UITableViewController 当我在显示搜索显示控制器的表视图时对 UIT
  • LINQ 中的日期范围重叠问题

    表中给定特定记录的日期范围 例如特定字段 名称 如果有人试图在之前的日期范围内插入该名称 则不应允许这样做 我在这里尝试过一些代码看看这个 if dataContext TableAs Where x gt x EndDate gt Sta