<p>Réponse courte</p>
<p>Cela peut se produire si vous n’initialisez pas une valeur dans un champ <em><strong>DateTime</strong></em> ; le champ n’accepte pas les valeurs <em><strong>NULL</strong></em>, et comme c’est un type valeur, la valeur par défaut du type DateTime non nullable sera utilisée.</p>
<p>Définir la valeur a résolu le problème pour moi !</p>
<p>Réponse détaillée</p>
<p>La valeur de <code>default(DateTime)</code> est <code>DateTime.MinValue</code> (ou <code>new DateTime(1, 1, 1)</code> ou 01/01/0001), qui n’est pas une valeur SQL <code>datetime</code> valide.</p>
<p>La valeur valide la plus basse pour le datetime de SQL Server est <a href="https://stackoverflow.com/questions/3310569/what-is-the-significance-of-1-1-1753-in-sql-server"><code>01/01/1753</code></a> 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.</p>