Столбец Time (CLR Timespan) с использованием EF4.1 Code-First подхода и SqlCe 4.0

#entity-framework #sql-server-ce #ef-code-first #sql-server-ce-4

#entity-framework #sql-server-ce #ef-code-first #sql-server-ce-4

Вопрос:

Я пытался сопоставить свойство Timespan с базой данных SqlCe 4.0, используя EntityFramework 4.1 Code-First, и, конечно, я получаю NotSupportedException, в котором говорится, что нет хранилища, соответствующего типу EDM ‘Time’ и типу CLR ‘Timespan’.

Я уже ожидал этого, но, согласно этой статье, начиная с SqlCe 3.5 существует поддержка преобразования, которая сопоставляет nvarchar(16) в форме значения ‘hh: mm: ss.nnnnnnn’ со столбцом времени.

Кто-нибудь знает, можно ли использовать это с EF4.1 Code-First?

С уважением

Ответ №1:

Связанная статья относится к репликации слиянием, а не к сопоставлению типов данных в EF. Вы должны либо использовать строку и преобразовать в и из timespan в коде, либо использовать datetime .

Комментарии:

1. Я это знаю… Но в конечном итоге это может как-то сработать. Метод, который вы предлагаете, — это обходной путь, который я уже сделал.