通常我们会在数据库表设置数据产生时间
,那我们像数据插入数据时这一列我们不会赋值了,可是我们的EF大大不干了,给我一个大大的黄页,原因在于datetime2的范围比datetime大,在没赋值的倩况下(默认0001-01-01 00:00:00)只能默认赋值给它了。var time=DateTime.now();
或者 打开EF的.edmx文件,找到<EntityType Name="表名">节点,把如下节点:
<Property Name="CreateDate" Type="datetime" Nullable="false" />
改成:
<Property Name="CreateDate" Type="datetime" Nullable="false" StoreGeneratedPattern="Identity" />
即可。(或者的方法参考别人的没试过)
huozhe
本文探讨了解决Entity Framework在插入数据时,对于未赋值的datetime2类型字段自动赋值为0001-01-01 00:00:00的问题。提供了修改.edmx文件中CreateDate字段属性的解决方案,通过设置StoreGeneratedPattern为Identity避免错误赋值。
1086

被折叠的 条评论
为什么被折叠?



