Переход с SQL Server CE на проблему с сущностью SQL Server Express - PullRequest
0 голосов
/ 03 декабря 2011

Мое приложение использует SQL Server Ce для базы данных и Entity Framework в качестве ORM.Сейчас я пытаюсь переключиться на SQL Server Express, но у меня возникают проблемы при этом.

ОБНОВЛЕНИЕ

Так что после трехчасового удара головой я наконец-то понялиз-за того, что вы не можете использовать модель Entity, сгенерированную из базы данных SQL Server CE, против SQL Server (в моем случае Express-версию).

Я использовал программу Diff для просмотра сгенерированных файлов (Designer.cs) для обоихбазы данных, и я заметил эти различия в файле:

SQL Server CE                          SQL Server 
FK__Download__000000000000003F         FK__Download__PlaneI__0519C6AF 

Итак, мне нужно создать две модели сущностей, но как я могу поменять местами две в моей программе?

Если я создаю двемодели сущностей, у меня будет два класса с одинаковыми именами объектов.

Заранее спасибо

1 Ответ

1 голос
/ 03 декабря 2011

Файл EDMX фактически состоит из трех частей.

  • CSDL, ваша концептуальная модель
  • SSDL, модель хранения
  • MSL, отображение между этими двумя.

Обычно эти три части встраиваются в качестве ресурса в вашу сборку, а используемая вами строка соединения указывает среде выполнения искать их в этой сборке.

Однако вы можете использовать физические файлы и развертывать их вместе с вашим приложением. Таким образом, вы можете использовать тот же CSDL, но другой набор SSDL / MSL для конкретной базы данных. Таким образом, вы можете повторно использовать вашу модель сущности как для базы данных SqlCE, так и для базы данных SQL Server.

Здесь вы можете найти сообщение в блоге об обмене метаданными EF

...