Вот решение, которое я придумал:
Я использовал не-c # код в качестве COM DLL (вызванный из .NET) и записывал поля SQLite DateTime в COM-объекте в два раза (дата автоматизации OLE). Все было хорошо, пока я не попытался прочитать поле DateTime из .NET с помощью Entity Framework. Я пытался изменить ConnectionString (в app.config) безрезультатно. Кажется, в EF нет возможности читать поля даты и времени путем преобразования из даты ОА. Обходные пути:
1- Используйте UnixEpoch, но он ограничивает вас <1970.
2- Используйте тики
3- Используйте строку "обычный старый".
Я выбрал String, то есть я конвертирую DateTime в String и передаю его в COM. EF может читать данные String в полях SQLite, помеченных как DateTime, без необходимости указывать формат даты и времени в ConnectionString.
Это было самое простое решение для меня, но я мог бы также использовать Ticks (преобразовать DT в Ticks (long) сначала в C # перед передачей в COM, а затем использовать datetimeformat = Ticks в ConnectionString). Возможно, у меня нет накладных расходов при написании строки, потому что мой набор дат не такой большой. </p>