У меня есть решение Visual Studio с двумя проектами: MyApp.MvcUI
и MyApp.Domain
(библиотека классов).EF разрешит мне выбирать SQL Server CE 3.5
MyApp.MvcUI
содержит базу данных SQL Server CE 4.
MyApp.Domain
должен содержать файл EDMX Entity Framework, но если я его добавлю, у меня нет возможности использовать SQL Server CE 4, только 3.5.
http://www.codetunnel.com/content/images/sqlce35only.jpg
Если я добавляю EDMX в проекте MvcUI
то я могу выбрать SQL Server CE 4.
Вопрос
Как я могу поставить свою Entity Framework содержание в проект
MyApp.Domain
и использовать базу данных SQL Server CE 4, которая живет в проектеMyApp.MvcUI
?Как только я решил эту проблему, какова будет часть источника данных моей строки подключения в
App.Config
? Я знаю, что строка подключения веб-проекта будет просто выглядеть следующим образом:Data Source=|DataDirectory|\CE4DB.sdf
но то, что будет выглядеть, что в
App.Config
в проектеMyApp.Domain
? Будет ли это абсолютный путь, какC:\Code\MyProject\MyApp.MvcUI\App_Data\CE4DB.sdf
Если да, то есть ли способ сделать это относительный путь так, когда люди тянут проект вниз из системы управления он все равно будет работать без коррекции траектории?
У меня была та же проблема. Я попытался добавить строку подключения к моему app.config, но при добавлении EF-модели я не смог выбрать строку подключения из файла app.config. Поэтому мне пришлось добавить EF-модель и создать новую строку соединения для моего локального SQL-сервера express, и когда спрошено, какие объекты будут отображены, я не выбрал ни одного. Поэтому я получил пустую EF-модель и сохранил строку подключения в своем app.config. Затем я просто изменил строку подключения в app.config, чтобы указать на мою базу данных CE, открыл конструктор EF и обновил из базы данных, и voilá! :-) –