La conversion d’un type de données datetime2 vers un type de données datetime produit une valeur hors limites
Source : Stack Overflow [sql-server]
La conversion d’un type de données datetime2 vers un type de données datetime produit une valeur hors limites
Source : Stack Overflow [sql-server]
Réponse courte
Cela peut se produire si vous n’initialisez pas une valeur dans un champ DateTime ; le champ n’accepte pas les valeurs NULL, et comme c’est un type valeur, la valeur par défaut du type DateTime non nullable sera utilisée.
Définir la valeur a résolu le problème pour moi !
Réponse détaillée
La valeur de default(DateTime) est DateTime.MinValue (ou new DateTime(1, 1, 1) ou 01/01/0001), qui n’est pas une valeur SQL datetime valide.
La valeur valide la plus basse pour le datetime de SQL Server est 01/01/1753 en raison de son utilisation du calendrier grégorien. Le DateTime2 de SQL Server prend cependant en charge les dates à partir du 01/01/0001. Entity Framework utilise par défaut DateTime2 pour représenter les dates, donc le SQL généré effectue implicitement une conversion de la valeur DateTime2 générée vers une valeur DateTime côté SQL Server.