Wie setzen Sie ein Feld in Entity Framework auf DBNull? Die Felder sind stark typisiert, sodass Sie es nicht gleich DBNull.Value setzen können. Ich habe keine Methode gefunden, um ein Feld auf DBNull zu setzen. Es scheint, dass dies eine notwendige Sache ist, aber nach vielem Nachforschen bei Google fand ich nichts darüber.
Ich versuche, ein Datumsfeld in Entity Framework mithilfe von vb.net festzulegen. Dafür muss ich schreiben
myEntity.mydate = Nothing
Dadurch wird das Feld nicht auf NULL festgelegt, sondern es wird stattdessen der Standardwert für das Datum verwendet, bei dem es sich nicht um einen gültigen Datumswert in SQL Server handelt.
Wenn eine Spalte in der Datenbank nullfähig ist, hat die Ergebnisklasse auch eine nullfähige Eigenschaft.
Wenn beispielsweise eine Order
eine Datetime
Spalte mit dem Namen CreatedDate
, sieht die resultierende Order
Klasse in etwa wie folgt aus:
public partial class Order: EntityObject
{
...
private DateTime? _createdDate;
...
}
Wenn _ createdDate
keinen Wert hat, wenn Sie ObjectContext.SaveChanges()
aufrufen, wird eine System.DBNull
automatisch als Teil des Befehls insert oder update an die Datenbank gesendet.
Hoffe das hilft Alex
Setzen Sie den Feldwert auf null
. Das Entity Framework übersetzt dies in System.DBNull
.