Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过将空日期保存到SQL2008。亚音速2.x_C#_Sql Server 2008_Datetime_Nullable_Subsonic2.2 - Fatal编程技术网

C# 通过将空日期保存到SQL2008。亚音速2.x

C# 通过将空日期保存到SQL2008。亚音速2.x,c#,sql-server-2008,datetime,nullable,subsonic2.2,C#,Sql Server 2008,Datetime,Nullable,Subsonic2.2,好的,我正试图通过亚音速2.x将datetime列设置为null DateTime? dt = new DateTime(); dt= null; Datum pd = (new DatumCollection() .Where(Datum.Columns.Data, cp[0].Data) .Load())[0]; pd.dtAcceptance = (DateTime)dt;

好的,我正试图通过亚音速2.x将datetime列设置为null

DateTime? dt = new DateTime();
dt= null;
Datum pd = (new DatumCollection()
                    .Where(Datum.Columns.Data, cp[0].Data)
                    .Load())[0];

                pd.dtAcceptance = (DateTime)dt;
                pd.Save();
即使数据库列允许空值,它也不会保存,我还尝试了一些其他选项,包括将其设置为DateTime.MinValue(我想1/1/0001的日期太早了)。我得到“可空对象必须有值”

我一直在这里和谷歌搜索一些神奇的子弹,以解决我认为是一个相当愚蠢的问题。在亚音速版本中,我是否需要更改某些内容以允许其工作,或者我是否必须在SQL端编写一些愚蠢的触发器,如果日期为“1/1/1900”,则将其更改为NULL

帮帮忙,谢谢

堆栈: “可为Null的对象必须有一个值。” 在System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource资源)处 在System.Nullable`1.get_Value()
在C:\dev\app\server\Services\Decision.cs:第426行的Services.Decision.OnDecline(Int32 nParticipandi,Int32 nSessionID)中。您正在将dt强制转换为DateTime,但需要将其强制转换为可为null的DateTime
(DateTime?

您确定“可为null的对象必须有一个值”在您认为的行上吗?可以发布堆栈跟踪吗?pd.dtAcceptance是日期时间而不是日期时间?亚音速生成了它,这就是为什么我想知道我是否需要更改亚音速模板中的某些内容以允许为空DatesOry-是的-如果字段允许为空,模板应该是为空的DateTime。嘿,知道在哪里更改吗?简单的任务变得越来越糟,但感谢方向的改变抱歉-我不太了解亚音速-我只是看到它是一个ORM,所以我认为它和其他代工具一样工作。你不把它指向数据库,它会为你创建图层吗?数据库中的列可以为空吗?哦,是的。我讨厌亚音速,我可能会为此创建一个存储过程并将其挂接到位,因为我已经在这方面花费了太多时间。谢谢你的帮助