behandeln Ich versuche, eine Datei mit FileHelpers (wie es bereits außer diesem einen Problem zu laden: P) Ich muss CSV-Datei Daten in die Datenbank speichern, und so bin Verwenden eines SqlDecimal-Datentyps zum Speichern der Dezimalwerte der CSV-Dateien.wie NULL-Werte für SQLDecimal-Datentyp in FileHelper-Klassen
[FileHelpers.FieldOptional()]
[FileHelpers.FieldConverter(typeof(SqlDecimalConverter))]
public SqlDecimal Rate;
All dies funktioniert gut, bis ich einen leeren Wert für das FixRate1 habe. Dies ist mit einem Fehler gekennzeichnet.
„Warnen Ausnahme: Nullwert für fand das Feld‚Rate‘in der Klasse ‚SWTrade‘Sie müssen einen FieldNullValueAttribute angeben, da diese ein Valuetype ist und kann nicht null sein..“
Ich habe versucht, [FileHelpers.FieldNullValue (SqlDecimal.Null)], aber es wirft offensichtlich einen Fehler.
muss ein Attribut Argument eine konstanter Ausdruck, Typeof oder Array-Erstellung Ausdruck sein Expression eines Attributparametertyp
obwohl ich die FieldToString Methode in der Klasse SqlDecimalConverter überschreiben , die Funktion wird beim Lesen der Daten nicht aufgerufen.
Nun, ist das der Fall, gibt es eine Möglichkeit, den Rate-Daten einen Nullwert oder sogar einen anderen fest codierten Wert zuzuweisen, den ich dann durch eine Null-Direktive in meiner eigenen Logik ersetzen kann?
Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen würden. Vielen Dank im Voraus.
Nein, er erwähnte, dass er versucht SqlDecimal.Null, das ist kein konstanter Ausdruck. – Sapph
@Sapph: Entschuldigung, mein Schlechter - ich habe die Frage (und deine Antwort) nicht sorgfältig genug gelesen. –