2017-01-26 1 views
0

Я уже рассмотрел некоторые из ответов здесь и попробовал Google. Я не уверен, был ли ответ на вопрос, и я просто не понимаю его, или если я делаю что-то по-другому, чтобы создать подобную ошибку.Невозможно получить метаданные для 'MVCMusicStore.Models.Album'. '

Где я нахожусь. Я изучаю C# и MVC в течение нескольких месяцев медленно, работая через обучающие программы, пытаясь найти вещи, а затем возвращаюсь, чтобы найти другой учебник, чтобы попытаться понять тонкости системы. Итак, новичок, где я сижу твердо. Поэтому, если мне кажется немного просто, вот почему.

В настоящее время я работаю над учебным пособием по ASP.NET CLick Here for MVC Music Store по созданию приложения для корзины покупок. Я должен создать StoreManagerController, который является первым контроллером, который будет создан с использованием EF с представлениями. Учебник предназначен для более старой версии VS, чем я использую, однако до сих пор все остальное, с чем я мог работать.

На сегодняшний день мы создали наши модели, создали несколько видов и контроллеров. Все прекрасное и денди.

Чтобы устранить потенциальные проблемы, у меня есть:

-Встроенная проект - Убирали проект - закомментирована строку подключения в файле конфигурации веб - закомментировал рамки сущности в файле конфигурации веб

Ничего из вышеперечисленного, похоже, не работает для меня ... или я делаю это неправильно.

не полезно ошибка:

Error and Controller

К сожалению, этот форум не позволяет мне заключить код правильно с двумя изображениями. Будет опубликовать текст с кодом.

+0

<добавить имя = "MusicStoreEntities" ConnectionString = "Источник данных = (LocalDB) \ MSSQLLocalDB; AttachDbFilename = | DataDirectory | MvcMusicStore. мдф;» ProviderName = "System.Data.SqlClient" /> BitLost

+0

<поставщик invariantName = "System .Data.SqlClient»Тип = "System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/> BitLost

+0

Альбом Модель пространства имен MvcMusicStore.Models { общественный класс Альбом { общественного int AlbumId {get; задавать; } public int GenreID {get; задавать; } public int ArtistID {get; задавать; } public string Заголовок {get; задавать; } public decimal Цена {get; задавать; } публичная строка AlbumArtUrl {get; задавать; } общественный Жанр Жанр {get; задавать; } Публичный художник Artist {get; задавать; }} } – BitLost

ответ

0

Основываясь на комментарий от @ChrisFCarroll на ваш вопрос, вы можете изменить строку подключения:

<add name="MusicStoreEntities" providerName="System.Data.SqlClient" 
connectionString="Data 
Source=(LocalDb)\v11.0;AttachDBFilename=|DataDirectory|MvcMusicStore.sdf"/> 

Эта строка подключения изменение DataSource из (LocalDB) \ MSSQLLocalDB к (LocalDB) \ v11.0. Согласно this блоге

"„(LocalDB) \ MSSQLLocalDB“является строка соединения используется для SQL Экспресс 2014 и„(LocalDB) \ v11.0“используется для SQL Express 2012"

Затем вы можете удалить и воссоздать свою базу данных.

+0

Я уже изменил строку подключения: – BitLost

+0

= "Источник данных = (LocalDb) \ MSSQLLocalDB; AttachDbFilename = | DataDirectory | MvcMusicStore.mdf;" providerName = "System.Data.SqlClient" По крайней мере, я думаю, что у меня есть. Я выбрал ошибку V11.00. – BitLost

+0

И база данных3 находится в экземпляре сервера под V13.0 в проводнике сервера ... так что я уверен, что у меня нет девственной проблемы – BitLost

0

Не было проблем с файлом webconfig, как я продолжал говорить и после многого. В конечном итоге проблема была связана с моделью альбома.

Процесс диагностики заключался в том, чтобы загрузить образец приложения.

Создайте контроллер, используя ApplicationDbContext, затем конвертируйте в MusicStoreEntities, комментируя и вставляя код из примера. Затем это создало ошибку, которая должна быть выбрана в модели альбома. После того, как я еще не понял, как я еще не понял переплетения кода, оказалось, что демо в модели альбома отсутствует. Добавлено через рефакторинг, и все работает правильно.

0

Попробуйте исправить класс MusicStoreEntities следующим образом:

using System.Data.Entity; 

namespace MvcMusicStore.Models 
{ 
    public class MusicStoreEntities : DbContext 
    { 
     public DbSet<Album> Albums { get; set; } 
     public DbSet<Genre> Genres { get; set; } 
     public DbSet<Artist> Artists{ get; set; } 
    } 
}