【发布时间】:2020-02-27 17:52:22
【问题描述】:
您好,我有一个奇怪的问题。我想将日期从 DataPicker 保存到数据库。
可见
<DatePicker Name="Date"
SelectedDate="{Binding Path=Date, UpdateSourceTrigger=PropertyChanged}" />
在 ViewModel -> 如果用户没有从 DatePicker 中选择任何日期,则设置默认值 - 今天的日期
public DateTime Date
{
get { return item.date == DateTime.MinValue ? DateTime.Today : item.date; }
set
{
if (value != item.date)
{
item.date = value;
OnPropertyChanged(() => Date);
}
}
}
第一种情况:用户在 DatePicker 中选择的日期不是今天
断点: 日期 {12.02.2020 00:00:00} System.DateTime
结果:一切正常,数据库保存在 12.02.2020
第二种情况:用户在 DatePicker 中选择今天的日期
断点: 日期 {27.02.2020 00:00:00} System.DateTime
结果:一切正常,数据库保存在 27.02.2020
第三种情况:用户没有选择日期(日期是自动设置的)
断点: 日期 {27.02.2020 00:00:00} System.DateTime
结果:一切都错了,在数据库中保存 1.1.1
【问题讨论】:
-
问题可能出在将日期保存到数据库的代码中。可以分享一下吗?
-
public override void save() { ATMAEntites.SprzedawcySprzedaz.Add(item); ATMAEntites.SaveChanges(); } -
它的类型为
DateTime,它必须有一个值。也许应该是DateTime? -
我试试这个,但没有帮助:(