Sto cercando di estrarre il campo DateTime più recente da SQLite e restituisce l'ora non corretta.LINQ alla query SQL che non restituisce corretta DateTime
Ecco i dati nel database:
Ed ecco il mio metodo per ottenere il più recente DateTime via LINQ:
public string getLastSyncTime()
{
using (var db = new SQLite.SQLiteConnection(this.DBPath))
{
var query = db.Table<SyncAudit>()
.OrderByDescending(c => c.SyncTime)
.Select(c => c.SyncTime)
.FirstOrDefault();
return query.ToString();
}
}
Il problema è che non sta tornando l'atteso appuntamento. Io sono sempre 1/1/0001 12:00:
Che cosa sto facendo di sbagliato?
EDIT: questo è il provider utilizzato, per richiesta: https://components.xamarin.com/view/sqlite-net
Edit 2: Richiesto SyncAudit Classe:
class SyncAudit
{
public string Server { get; set; }
public string Database { get; set; }
public DateTime SyncTime { get; set; }
public int Successful { get; set; }
}
Hai detto "LINQ to SQL" nel titolo - ho pensato che LINQ to SQL solo ha lavorato con SQL Server ... quale fornitore LINQ stai usando? –
hai una qualsiasi riga con syntime come null perché il valore che arriva è il valore predefinito datetime.min – Sachu
Sembra una tabella errata o una stringa di connessione. Non riesce a trovare alcun record e restituisce il valore predefinito. Provare prima invece di FirstOrDefault e vedere se si ottiene errore come la sequenza non contiene elementi o qualcosa del genere .. –