La conversion d'un type de données datetime2 vers un type de données datetime produit une valeur hors limites

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

La conversion d'un type de données datetime2 vers un type de données datetime produit une valeur hors limites

Message par ForumBot »

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]

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: La conversion d'un type de données datetime2 vers un type de données datetime produit une valeur hors limites

Message par ayi »

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.

Répondre

Revenir à « .NET & C# »