c# - 使用 EF 模型优先传递空日期时间
问题描述
我在我的应用程序中使用 EF 模型优先并且也使用存储过程。
我的表有一个数据类型的LastStatus
列名,datetime
它可以为空。
当用户填写一个datetime
值时,它可以正常工作。
这是我的代码:
(@StartAcceptDate IS NULL OR LastStatusDate >= @StartAcceptDate)
AND (@EndAcceptDate IS NULL OR LastStatusDate >= @EndAcceptDate)
但是当用户想要选择所有记录发布日期时。
许多记录具有null
价值。
我的问题在这里:如何从 C# 传递null
到datetime
SQL Server?
解决方案
最好的方法是在您的存储过程中将默认参数值设置为 NULL,您不必将 NULL 显式传递给您的存储过程。
CREATE PROCEDURE dbo.Proc
(@param1 INT = NULL,
@param2 INT = NULL ....)
如果您仍想NULL
从您的 C# 代码发送到您的存储过程,您可以使用DBNull.Value
推荐阅读
- python - python中的爬行循环
- sql - 如何将静态数据添加到 excel sql 查询?
- cordova - 移动(步行/骑自行车/开车)时很少在 Android 设备上找到位置
- python - Airflow - 使用 docker-compose 安装 Pyodbc
- sql - 如何在 Laravel 中获取过去 10 周的数据
- html - 如何防止 IE 中文本/纯文本的表单正文编码
- neo4j - Cypher 查询中的多个匹配语句
- html - 当我调整浏览器导航徽标和菜单的大小时
- java - 如何为班级编写@Bean?
- square-connect - 如何处理 is_partial 以响应 RetrievePayment?