I am trying to pull the most recent DateTime field from SQLite and it is returning the incorrect time.
Here's data in the database:
And here is my method to get the most recent 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();
}
}
The issue is that it is not returning the expected datetime. I am getting 1/1/0001 12am:
What am I doing wrong?
EDIT: THis is the provider being used, per request: https://components.xamarin.com/view/sqlite-net
Edit 2: Requested SyncAudit Class:
class SyncAudit
{
public string Server { get; set; }
public string Database { get; set; }
public DateTime SyncTime { get; set; }
public int Successful { get; set; }
}
Change
public DateTime synctime{ get; set; }
to:
public DateTime? synctime { get; set; }
Hope it will helps. What happens is DateTime is NOT NULL data type and it enforces to put a default value there (01/01/0001) to make sure that non-null date will be submitted.Don't know whether it can be an issue..try and check
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With