Die Konvertierung eines datetime2-Datentyps in einen datetime-Datentyp führt zu einem Wert außerhalb des gültigen Bereichs

c# datetime entity-framework orm sql-server

Frage

Ich habe eine Datentabelle mit 5 Spalten, in der eine Zeile mit Daten gefüllt wird, die dann über eine Transaktion in der Datenbank gespeichert werden.

Beim Speichern wird ein Fehler zurückgegeben:

Die Konvertierung eines datetime2-Datentyps in einen datetime-Datentyp führte zu einem Wert außerhalb des gültigen Bereichs

Wie gelesen, bedeutet dies, dass meine DateTime2 eine Art DateTime2 und meine Datenbank eine DateTime . das ist falsch.

Die DateTime ist auf eine DateTime wie folgt festgelegt:

new DataColumn("myDate", Type.GetType("System.DateTime"))

Frage

Kann dies im Code gelöst werden oder muss auf Datenbankebene etwas geändert werden?

Akzeptierte Antwort

Welche Daten haben Sie in der Spalte?

Passen alle in den Bereich des Typs?


Als beiseite, der richtige Weg , um ein bekommen Type - Objekt für den DataColumn ist Konstruktor das typeof Schlüsselwort, das schnelle Größenordnung.

Um die Spalte zu erstellen, sollten Sie daher schreiben

new DataColumn("myDate", typeof(DateTime))

Beliebte Antwort

Dies kann passieren, wenn Sie einem DateTime- Feld keinen Wert zuweisen , wenn das Feld keine NULL- Werte akzeptiert.

Das hat es für mich behoben!



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum