SQL Server CE 4.0 с SQLmetal
Я создал небольшой тестовый проект в WebMatrix, который использует SQL Server CE 4.0. Не будучи фанатом использования встроенного SQL, я хотел создать несколько классов домена LINQ2SQL для базы данных SQL Server CE 4.0, созданной WebMatrix. К сожалению, SQLmetal жалуется, что файл базы данных поврежден или несовместим.
Есть ли версия SQLmetal.exe
который совместим с SQL Server CE 4.0 и может ли он быть загружен независимо от Visual Studio?
Заранее спасибо.
3 ответа
Sql metal не работает с sqlce 4.0 (я пробовал), вы должны использовать linq2entity или кодировать объект данных и POCOS вручную. Или, возможно, дождаться следующей версии визуальной студии. Я надеюсь, что Microsoft все еще будет поддерживать linq2sql для sqlce4.0, так как с ним легко работать.
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.3.5" />
<add name="Microsoft SQL Server Compact Data Provider 4.0"
invariant="System.Data.SqlServerCe.3.5"
description=".NET Framework Data Provider for Microsoft SQL Server Compact"
type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>
Все еще работает, вам нужен этот простой взлом:
- найти
SqlMetal.exe
путь к исполняемому файлу (из VS cmd: где SQlMetal) - редактировать
SqlMetal.exe.config
, добавьте или обновите раздел "system.data" в разделе "конфигурация", переопределив SQL Server CE DataProvider 3.5 с 4.0:
Тем не менее, проблема с Windows 8 и Visual Studio 2012, так как SSCE 3.5 не установлена по умолчанию в Windows 8.