1

Я хочу использовать встроенную версию SQL Server Compact в моем проекте asp.net mvc 4. Стараюсь подходы, но у меня есть проблемы с любым подходом:Entity Framework: установка правильной строки подключения для SQL Server Compact в ASP.NET MVC 4

Первой попытка

Я создал новое соединение данных от визуальной студии и от сервера исследователя типа Microsoft SQL Server Compact 3.5 и хранить в .sdf файл в моем проекте asp.net mvc 4 под папкой \App_Data (я добавляю этот файл .sdf в эту папку). Я предполагаю, что это создаю и встроенную базу данных SQL Server Compact для моего веб-приложения, верно?

Наконец, я создаю следующую строку соединения в web.config:

<add name="DefaultConnection" 
    providerName="System.Data.SqlServerCe.3.5" 
    connectionString="Data Source=|DataDirectory|\App_Data\MyDatabaseSQLCe.sdf" /> 

Я начинаю свой веб-приложение, но возникает ошибка, база данных, как представляется, не найден, а ошибка говорит что-то вроде:

SQL Server Compact не предназначен для разработки asp.net

Я не уверен, если строка подключения аб Ове описано правильно.

Вторая попытка

Также я скачал SQL Server Compact 4.0 здесь: http://www.microsoft.com/en-us/sqlserver/editions/2012-editions/compact.aspx и я установил. После установки. Если я иду для создания подключения к данным, как описано выше, SQL Server Compact 4.0 не появляется из Visual Studio. Я хотел бы использовать встроенный SQL Server Compact в моем проекте, но я полностью потерян.

Вывод: моя цель состоит в том, чтобы использовать SQL Server Compact Edition, как встроенный в моем веб-приложение asp.net MVC 4 и поместить этот файл .sdf в моей \App_Data папку и сделать его работы с правильного подключения строки в web.config.

+1

'| DataDirectory | \ App_Data' дает' App_Data \ App_Data', если я не неправильно. Попробуйте «Источник данных = | DataDirectory | \ MyDatabaseSQLCe.sdf'. Вы можете проверить это, сбросив 'AppDomain.CurrentDomain.GetData (« DataDirectory »). ToString()' на вашей веб-странице. – Will

+0

Вы правы, это была одна ошибка при первом подходе. Вторая ошибка в первом подходе, касающаяся ошибки сообщения, я googled, и я обнаружил, что компакт-диск sql-сервера не был использован для использования на ASP.NET, из-за его нескольких ограничения, связанные с «нормальными» выпусками SQL Server, и чтобы избежать этого сообщения, я должен поместить в метод Application_Start в global.asax.cs следующую строку: AppDomain.CurrentDomain.SetData («SQLServerCompactEditionUnderWebHosting», true), тогда ошибка исчезает, и приложение переходит ok, таблицы создаются в файле базы данных и т. д. – user1624552

+0

NOw Я хотел бы знать, как решить 2 подхода, используя sql server compact 4.0. Я установил его, но при попытке создать новое подключение к данным из проводника сервера опция SQL Server Compact 4.0 не появляется в visual studio, почему? – user1624552

ответ

3

|DataDirectory|\App_Data дает App_Data \ App_Data, если я не ошибаюсь. Попробуйте Data Source = | DataDirectory | \ MyDatabaseSQLCe.sdf.

Вы можете проверить это, сбросив AppDomain.CurrentDomain.GetData("DataDirectory").ToString() на ваш сайт.

Вы должны взять инструментарий для визуальной студии при работе с Sql Server Compact.

http://visualstudiogallery.msdn.microsoft.com/0e313dfd-be80-4afb-b5e9-6e74d369f7a1

+0

Я установил пакет инструментов sql server compact из предоставленной вами ссылки, используя пакеты расширения в visual studio, но при создании dataconnection sql server compact 4.0 не появляется, только 3.5. У меня есть visual studio 2010 ultimate sp1, а сетка - до 4.0. возможно, он не поддерживается в asp.net mvc 4 веб-приложениях? – user1624552

+1

Я решил: вы не можете добавить подключение данных к sql server compact 4.0 из проводника сервера и щелкнуть правой кнопкой мыши узел соединений данных. Вместо этого вам нужно нажать кнопку SQL Server Compact Toolbox в верхней части серверного проводника, где появляются некоторые кнопки. Затем появится окно (компактная панель инструментов SQL Server) и щелкните правой кнопкой мыши на узле соединений данных SQL Server compact и в меню выберите вариант Добавить SQL Server compact 4.0, также вы можете выбрать оттуда 3.5. Сначала это немного запутывает, пока не будет найден компактный набор инструментов sql server. Большое спасибо. – user1624552