2012-04-10 3 views
2

10gen Mit mondgo db C# driver.I Klasse verfolgt habenMongoDB C# Treiber haben Vorrang vor Standardwert der Zeichenfolge von null auf String.Empty

[BsonId] 
public ObjectId Id { get; set; } 
public int AttemptId { get; set; } 
public int UserId { get; set; } 
public int QId { get; set; } 
public string UserInput { get; set; } 
public string Feedback{ get; set; } 

standardmäßig, wenn ich Werte von Userinput oder Kundenbewertungen (beliebige Zeichenfolge) gesendet Dont mongodb legte sie als null. Gibt es eine Möglichkeit, dies beim Einfügen oder beim Abrufen der Daten mit string.empty zu überschreiben. Versuchte Einstellung [BsonDefaultValue("")], aber das hat auch nicht funktioniert.

Antwort

10

[BsonDefaultValue ("")] gilt nur beim Lesen eines Dokuments aus der Datenbank, das keinen Wert für das entsprechende Feld hat. Wenn Sie möchten, dass neue Objekte, die Sie im Speicher erstellen, einen anderen Wert als null haben, müssen Sie diesen Wert in Ihrem Konstruktor festlegen. Wenn Sie ein Objekt in der Datenbank speichern, wenn das Feld null ist, wird es gespeichert und zurückgelesen.

Setzen Sie einfach den Standardwert in Ihrem Konstruktor, um neue Objekte im Speicher zu bearbeiten (und vermutlich in die Datenbank eingefügt) und verwenden Sie [BsonDefaultValue], um Dokumente zurück zu lesen, die möglicherweise kein entsprechendes Feld haben.

Verwandte Themen