Я пытаюсь взять ASP.Net - и следую инструкциям mvc: http://www.asp.net/mvc/tutorials/mvc-music-store-part-4 (Примечание: я совершенно новичок в .Net Framework, как C #, так и ASP.Net)
В начале учебник предложил использовать SQL Server Compact 4.0 - но вместо этого я установил SQL Server Express (поскольку я буду использовать его после, а не только для учебника)
SELECT @@VERSION AS [Version]
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) Apr 2 2010 15:53:02 Copyright (c) Microsoft Corporation Express Edition with Advanced Services on Windows NT 6.1 <X64> (Build 7600: ) (WOW64)
Теперь у меня возникли проблемы, когда я добрался до точки, чтобы установить соединение БД для учебника.Шаг учебника, чтобы добавить это в Web.config:
<connectionStrings>
<add name="MusicStoreEntities"
connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
Но это не сработает - и уверен, что это потому, что я использую другой SQL Server.Предложение о том, как заставить это работать?
Я попытался изменить имя поставщика на «System.Data.SqlClient», но оно все еще не работает, и я тоже попробовал следующее:
<connectionStrings>
<add
name="MusicStoreEntities"
connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|MvcMusicStore.sdf"
providerName="System.Data.SqlClient" />
</connectionStrings>
И он по-прежнему не работает со следующим исключением: поставщик не возвратил строку ProviderManifestToken
Помощь в настройке этого ASP.Net - SQL Server Express 2008 будет принята с благодарностью!
РЕДАКТИРОВАТЬ
Похоже, теперь я заработал, по крайней мере, для подключения к БД:
Теперь, очевидно, база данных пуста - учебник недаже сказать о создании базы данных, кроме загрузки какого-либо файла активов для базы данных «SampeData.cs» и добавления его в метод Global.asax.cs Application_Start:
System.Data.Entity.Database.SetInitializer(new MvcMusicStore.Models.SampleData());
А теперь 2 вещи:
Строка, приведенная выше в Application_Start, кажется, не ударил, когда в режиме отладки (я пытался перестроить решение)
Теперь я получаюследующая ошибка: Модельсовместимость не может быть проверена, поскольку база данных не содержит метаданных модели.Убедитесь, что IncludeMetadataConvention была добавлена к соглашениям DbModelBuilder.
Я думаю, что мне не хватает создания экземпляра данных в БД - но не уверен, как / что - учебник не говорит много