Я пытаюсь изучить ASP.NET MVC, поэтому я слежу за учебником Music Store на веб-сайте asp.net.
Я в той части, где вы создаете StoreManagerController, используя Album.cs в качестве класса модели и MusicStoreEntities.cs в качестве класса контекста данных.
Ошибка при создании контроллера: Невозможно получить метаданные для "MvcMusicStore.Models.Album". Использование того же DbCompiledModel для создания контекстов для разных типов серверов баз данных не поддерживается. Вместо этого создайте отдельный DbCompiledModel для каждого используемого сервера.
Похоже, я использую две разные базы данных, но вот моя строка строки подключения из Web.config:
<connectionStrings>
<add name="MusicStoreEntities" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=|DataDirectory|\MvcMusicStore.sdf"/>
</connectionStrings>
Честно говоря, если я прокомментирую строку подключения MusicStoreEntities, а затем попытаюсь создать StoreManagerController, это сработает. Он также работает, если я изменю Target Framework в настройках решения на .NET Framework 4, открыв решение в Visual Studio 2010, а затем создав контроллер.
Так это проблема с Visual Studio 2012 или строкой соединения? Возможно, проблема совместимости с CE4.0 и VS2012?