繁体   English   中英

尝试使用实体框架保存DateTime字段时转换datetime2错误

[英]Conversion of a datetime2 error while trying to save DateTime field using entity framework

我试图通过实体框架节省时间。 我真的不喜欢约会。 我已经在Code中将我的属性声明为DateTime,并且正在使用CodeFirst。

在xaml中,我使用xceed TimePicker显示时间,如下所示

<Xceed:TimePicker Grid.Row="6" Grid.Column="1" Margin="5" Value="{Binding SelectedItem.UpdateTimer, Mode=TwoWay}" Format="LongTime" />

问题是,当我第一次运行我的应用程序时,我的属性在代码中收到的日期时间是“ 01/0/1/0001”,后面是我输入的时间。 当我尝试保存上下文时,出现此错误,这可能意味着SQL Server不喜欢我的日期。 我该如何解决?

“将datetime2数据类型转换为datetime数据类型导致值超出范围。\\ r \\ n该语句已终止。”

我的财产代码是

     public DateTime UpdateTimer
         {
             get
             {
                 return Data.UpdateTimer;
             }
             set
             {
                 if (value != Data.UpdateTimer)
                 {
                     Data.UpdateTimer = value;
                     OnPropertyChanged("UpdateTimer");
                 }
             }
         }

从我的理解形成的代码,您没有设置你的约会它的二传手UpdateTimer绑定,然后你和你的TimePicker ,什么二传手回到你的控制可能是零,那是因为你得到这个错误,请尝试将设置器中的值查看您是否仍然遇到错误,还请查看问题以查看它是否可以解决您的问题。

我用今天的日期初始化了我的字段,这解决了我的问题

        DateTime date = DateTime.Now;    
        UpdateTimer = new DateTime(date.Year, date.Month, date.Day, 0, 0, 5); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM