Мое приложение нацелено на .NET 4.0, потому что мы планируем пока продолжить поддержку Server 2003 и Windows XP. Я использую Visual Studio 2012 с Entity Framework 4.4 (указанный как 5.0 в NuGet) и провайдером System.Data.SQLite ADO.Net версии 1.0.85.0.
У меня возникли проблемы с установкой компонентов времени разработки, которые (1) работают в VS2012 и (2) генерируют модели и код, ориентированные на .NET 4.0. Пакет System.Data.SQLite, который устанавливает компоненты времени разработки для VS2012, предполагает .NET 4.5 и вызывает ошибки Entity Framework при создании модели из существующей базы данных:
«Тип данных «bigint» в настоящее время не поддерживается для целевой версии .NET Framework; столбец «id» в таблице «main.Message» был исключен».
«Тип данных «двоичный» в настоящее время не поддерживается для целевой версии .NET Framework; столбец «Сообщение» в таблице «main.Message» был исключен».
И так далее...
Мой текущий обходной путь — обновить модель Entity Framework с помощью VS2010, но это довольно раздражает. Можно ли как-нибудь установить компоненты времени разработки VS2010 на VS2012? В качестве альтернативы можно настроить компоненты времени разработки VS2012 для работы с .NET 4.0?