windows - Sådan læses SQL-teksten til Datetime og Boolean i C #?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har bordet defineret som nedenfor:


Create Table "MyMessage" ( Id TEXT primary key
                         , IsModified TEXT DEFAULT false
                         , StartTime TEXT
                         );


Jeg bruger SQLite-net samling for at forespørge i databasen:


SQLiteConnection DbConn = new SQLiteConnection(GetDatabaseFileName());
string qry = "Select * from MyMessage";
List<MyMessage> messageList = DbConn.Query<MyMessage>( qry
                                                     , new object[]{} )
                                    .ToList<MyMessage>();


Og her er min MyMessage klasse:


public class MyMessage
{
...
    public bool IsModified {get;set;}
    public DateTime? StartTime {get;set;}
}


Efter forespørgsel finder jeg, at IsModified altid er falsk, og StartTime er altid standard datetime, ikke min faktiske værdi.


Er der en måde, jeg ikke behøver at ændre datatypen af ​​mine kolonner i tabellen, og når jeg spørger, kan jeg spørge og konvertere dem til den korrekte DateTime eller bool?

Bedste reference