Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Linq to SQL DateTime-Werte sind lokal (Kind=Unspecified) – Wie mache ich es UTC?

Der generierte LinqToSql-Code bietet Erweiterbarkeitspunkte, sodass Sie Werte festlegen können, wenn die Objekte geladen werden.

Der Schlüssel besteht darin, eine partielle Klasse zu erstellen, die die generierte Klasse erweitert, und dann OnLoaded zu implementieren partielle Methode.

Nehmen wir zum Beispiel an, Ihre Klasse ist Person , Sie haben also einen generierten Teil Person Klasse in Blah.designer.cs .

Erweitern Sie die partielle Klasse, indem Sie wie folgt eine neue Klasse erstellen (muss sich in einer anderen Datei befinden):

public partial class Person {

  partial void OnLoaded() {
    this._BirthDate = DateTime.SpecifyKind(this._BirthDate, DateTimeKind.Utc);
  }
}