Frage

Wie stellen Sie ein Feld in Entity Framework DBNULL? Die Felder sind stark typisiert, so dass Sie es nicht gleich DBNull.Value gesetzt und ich fand keine Methode ein Feld DBNull einzustellen. Es scheint, wie dies eine notwendige Sache zu tun, aber nach vielen Google Forschung fand ich nichts.

Ich versuche, ein Datetime-Feld in Entity Framework zu setzen vb.net verwenden. Dies erfordert mich zu schreiben

 myEntity.mydate = Nothing

Dies stellt nicht das Feld auf null, sondern stellt es auf den Standard-Datumswert, der kein gültiges Datum Wert in SQL Server ist.

War es hilfreich?

Lösung

Wenn eine Spalte in der Datenbank NULL festlegbare ist das Ergebnis Klasse wird auch eine Nullable-Eigenschaft hat.

Zum Beispiel, wenn eine Order Tabelle eine Nullable-Datetime Spalt namens CreatedDate hat, dann wird die resultierende Order Klasse wird in etwa so aussieht:

public partial class Order: EntityObject
{
  ...
  private DateTime? _createdDate;
  ...
}

Wenn der _createdDate keinen Wert hat, wenn Sie anrufen ObjectContext.SaveChanges() eine System.DBNull automatisch in die Datenbank als Teil des Einsatzes oder Update-Befehl gesendet wird.

Hope, das hilft Alex

Andere Tipps

Stellen Sie den Feldwert null. Das Entity Framework wird dies zu System.DBNull übersetzen.

ich nie Entity-Framework verwendet, aber können Sie eine Variable in ein Nullable Type drehen?

so etwas wie

dim entityVar as nullable(of date)

dann können Sie die = nichts tun und es wird nichts bleiben.

aber wie ich schon sagte, ich habe nie Entity-Framework verwendet

während der Suche auf Google fand ich, dass Bug-Report auf Microsoft Connect rel="nofollow

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top