Ich arbeite an einer iOS App mit Xamarin
. Ich verwende das sqlite-net ORM, um mit meiner Datenbank zu interagieren.Wie unterscheidet man zwischen NULL Daten und 0 in sqlite-net?
Mit einer Integer-Spalte gibt das ORM einen Int32
Wert zurück. Der Wert in dieser Spalte kann jedoch NULL
sein. Und ich habe festgestellt, dass in diesem Fall 0 statt NULL
zurückgegeben wird, da es unmöglich ist, einen int auf NULL
zu setzen.
Zum Beispiel mit dem folgenden Code:
public class Client
{
public Client()
{
}
[PrimaryKey, Column("ID")]
public string ID{ get; set;}
public string FirstName{ get; set;}
public string LastName{ get; set;}
public int Age{ get; set;}
}
Wenn die ID korrekt ist, aber der Vorname, Nachname und Alter sind auf NULL
, das zurückgegebene Objekt wird in den Feldern Vornamen und Nachnamen null hat, die ist logisch. Aber das Alter wird auf Null gesetzt. So kann ich nicht wissen, ob der Wert NULL
oder wirklich 0 ist. Gibt es eine Möglichkeit, diese Fälle zu unterscheiden?
Jede Chance, zu erklären Alter als '' int? –
Ich bin mir nicht sicher zu verstehen, was Sie meinen, Alter ist bereits als int –
NULL gekennzeichnet oder int? wurde in C# 2.0 eingeführt –
Jason