仅将日期的年份部分用于 WHERE 条件

2024-01-03

在下面的 LINQ 语句中,我想选择考试日期为 2010 年的人员。考试日期存储为日期时间,因为其他应用程序中使用实际日期和时间。将考试日期与“2010”进行比较的最优雅、最简单、最好的方法是什么?或者,我应该使用 >= 将考试日期与 2010 年 1 月 1 日进行比较吗?

var active = dc.People.Where(x => x.exam >= 2010)
        .Select(x => new {x.ContactID, x.FirstName, x.LastName})
                   );

x.MostRecent == DateTime.Parse("1/1/2010").Year

EDIT #1

我以为我应该在考试日期看到 .Year,但我没有。在这里看到几篇文章后,我回去发现这个有效......

.Where(x => x.exam.Value.Year == 2010)

为什么访问 .Year 需要 .Value? Exam 是一个可为空的日期时间。


你可以只使用Year属性于DateTime:

var active = from p in dc.People
             where p.Exam.Year >= 2010
             select new {
                 p.ContactID,
                 p.FirstName,
                 p.LastName
             };

为什么访问 .Year 需要 .Value? Exam 是一个可为空的日期时间。

正是因为Exam is a Nullable<DateTime>。当你声明一个实例时Nullable<DateTime> like

DateTime? exam;

注意exam不是一个DateTime因此你不能直接访问的属性DateTime。获取具体实例DateTime你使用Value属性于Nullable<DateTime> (all Nullable<T>s 有这个属性)所以

DateTime instance = exam.Value;

is a DateTime假如说exam is not null。因此你可以说

int year = instance.Year;

当然,为了简洁起见

int year = exam.Value.Year;

请注意,如果exam.HasValue是假的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅将日期的年份部分用于 WHERE 条件 的相关文章

随机推荐

  • RNN 中的梯度累积

    在运行大型 RNN 网络时 我遇到了一些内存问题 GPU 但我想保持我的批量大小合理 所以我想尝试梯度累积 在一次性预测输出的网络中 这似乎是不言而喻的 但在 RNN 中 您为每个输入步骤执行多次前向传递 因此 我担心我的实施无法按预期进行
  • 如何防止键盘在颤振中按提交键时消失?

    我正在制作一个颤振应用程序 用户可以在其中键入消息并点击键盘中的发送按钮来发送消息 问题是当我按下发送按钮时 消息被发送 但键盘会自动消失 我怎样才能防止这种情况发生 提前致谢 TextField autofocus true keyboa
  • Python/Pandas 中是否有函数可以获取两个日期时间之间的业务时间增量?

    我有一个带有两个日期时间列的 pandas 数据框 我想计算 业务分钟 中列之间的时间增量 使用 offsets 方法添加业务时间增量很容易 但我似乎找不到内置的东西可以返回工作日 小时 分钟 秒的时间增量 我对 Python 很陌生 所以
  • PHP JSON 将值数组放入 HTML 表中

    我正在从 API URL 提取 JSON 数据 我需要提取特定的键并将它们放入包含列和行的表中 6 列 x 20 行 KEYS 都是彼此重复的 val 内容 JSON 示例 response result Leads row no 1 FL
  • 从 ajax 调用返回一个值到父函数

    我有一个函数 我需要返回通过 ajax 调用获取的 url var heatmap new google maps ImageMapType getTileUrl function coord zoom var tileURL get ge
  • v[i++] 在 C 中未定义吗?

    我正在尝试编写一个通过 a 检查 a 的函数char a 并且经常最终使用类似的东西 if a i x i 现在我真的很想将其更改为a i 相反 但它似乎不起作用 问题 我在这里做错了什么吗 还是有一个干净的替代方案来避免i 注意 目前函数
  • Nodejs 异步/等待延迟

    我对这段代码有问题 var request require request promise class Test constructor async Start var response await this getResponse awa
  • 如何在 Scala 中向 TrieMap[Long,List[Long]] 添加数据

    我有这个 val vertexIdListPartitions TrieMap Long List Long TrieMap 我需要添加List 3 at vertexIdListPartitions 3 我尝试这样做 vertexIdLi
  • 统计所有直接或间接向经理汇报的下属

    我在一项任务上遇到了问题 我需要统计直接或间接向特定经理汇报的所有下属 不同的 我有一个Employee像这样的表 EMPLOYEE ID Int MANAGER ID Int EMPLOYEE NAME varchar 200 Examp
  • 在代码中创建 Excel SpreadsheetML。 (没有 Excel!)

    在 Excel 2003 及更高版本中 可以使用 SpreadsheetML 格式生成仅包含 XML 样式表和 XML 数据文件的 Excel 电子表格 我在一些项目中使用过它并且效果很好 尽管这并不容易做到 我从 Microsoft 下载
  • 带交换的 Powershell——如何将所有详细输出附加到文件

    我正在尝试在我的脚本中添加一些日志记录 任何建议将不胜感激 首先 我想在出现问题时添加错误日志 例如 当找不到用户时 会抛出以下错误 无法执行该操作 因为在 HQ DC 6 domain com 上找不到对象 asdfa 类别信息 未指定
  • antlr4数组实现:获取元素的值

    我正在尝试在 antlr4 中实现数组 但我不知道如何在初始化数组时获取数组的多个元素 如下所示 int array 1 2 我正在考虑将它们放入像这样的 HashMap 中 关键是索引 public Map
  • 如何在vba中检测合并单元格(Word 2010)

    我想在 word 2010 上检测并跳过 vba 中的合并单元格 我正在制作一个需要在第一列中写入的宏 但我有一些合并的单元格 但我不想写入 我找到的所有示例都是针对 Excel 的 我尝试检测每行的列数 但这不起作用 我有 Error 5
  • 从 app.config 文件中读取

    我正在尝试阅读 GettingMonthColumn 和 CategoryHeadingColumn 使用代码从下面的 app config 文件中 ConfigurationSettings AppSettings StartingMon
  • 使用 PostgreSQL 时 Spring Security JDBC 身份验证默认架构错误

    真的无法使用吗默认模式对于带有 PostgreSQL 的 Spring Security 因为这部分 varchar ignorecase does not exist不能更换吗 我只是测试默认设置 auth jdbcAuthenticat
  • DefaultTraceListener 的性能影响

    使用时System Diagnostics跟踪 如果不删除 默认 跟踪侦听器 是否会对性能产生重大 可测量 影响 生产ASP NET应用在release模式 与TRACE在编译时定义的常量 但在运行时没有附加调试器 为了澄清 问题是关于 默
  • iPhone SDK:如何在视图中播放视频?而不是全屏

    我正在尝试在UIView 所以我的第一步是为该视图添加一个类 并使用以下代码开始在其中播放电影 IBAction movie id sender NSBundle bundle NSBundle mainBundle NSString mo
  • 如何使用 jQuery 读取外部 html 文件并将其存储到字符串变量?显示错误

    我正在尝试动态生成 W eb 应用程序的代码我想读书外部 HTML 文件并将其存储到 Javascript 或 Jquery 中的字符串变量 有什么有效的方法吗 HTML 文件 对象文本 html div class text object
  • {“errorMessages”:[“意外字符('''(代码39)):预期有效值

    我发现 使用 POST 查询 here https developer atlassian com jiradev jira apis jira rest apis jira rest api tutorials jira rest api
  • 仅将日期的年份部分用于 WHERE 条件

    在下面的 LINQ 语句中 我想选择考试日期为 2010 年的人员 考试日期存储为日期时间 因为其他应用程序中使用实际日期和时间 将考试日期与 2010 进行比较的最优雅 最简单 最好的方法是什么 或者 我应该使用 gt 将考试日期与 20