Невозможно получить метаданные
MVC4 + Entity Framework 4.4 + MySql + POCO / Code FirstI '
м настройки вышеупомянутой конфигурации .. вот мои классы:
namespace BTD.DataContext
{
public class BTDContext : DbContext
{
public BTDContext()
: base("name=BTDContext")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//modelBuilder.Conventions.Remove();
}
public DbSet Products { get; set; }
public DbSet ProductImages { get; set; }
}
}
namespace BTD.Data
{
[Table("Product")]
public class Product
{
[Key]
public long ProductId { get; set; }
[DisplayName("Manufacturer")]
public int? ManufacturerId { get; set; }
[Required]
[StringLength(150)]
public string Name { get; set; }
[Required]
[DataType(DataType.MultilineText)]
public string Description { get; set; }
[Required]
[StringLength(120)]
public string URL { get; set; }
[Required]
[StringLength(75)]
[DisplayName("Meta Title")]
public string MetaTitle { get; set; }
[DataType(DataType.MultilineText)]
[DisplayName("Meta Description")]
public string MetaDescription { get; set; }
[Required]
[StringLength(25)]
public string Status { get; set; }
[DisplayName("Create Date/Time")]
public DateTime CreateDateTime { get; set; }
[DisplayName("Edit Date/Time")]
public DateTime EditDateTime { get; set; }
}
[Table("ProductImage")]
public class ProductImage
{
[Key]
public long ProductImageId { get; set; }
public long ProductId { get; set; }
public long? ProductVariantId { get; set; }
[Required]
public byte[] Image { get; set; }
public bool PrimaryImage { get; set; }
public DateTime CreateDateTime { get; set; }
public DateTime EditDateTime { get; set; }
}
}
Вот моя настройка web.config ...
База данных И таблицы уже существуют ... ЯЯ все еще довольно новый с MVC, но использовалэтот урокПриложение работает нормально ... однако, когда я пытаюсь добавить контроллер, используя Product (BTD.Data) в качестве класса модели и BTDContext (BTD.DataContext) в качестве класса контекста данных, я получаю следующую ошибку:
Невозможно извлечь метаданные для BTD.Data.Product, используя тот же DbCompiledModel для создания контекста для разных типов серверов баз данных, не поддерживается. Вместо этого создайте отдельную DbCompiledModel для каждого типа используемого сервера.
Я в полной растерянности - яЯ искал в Google почти все варианты сообщения об ошибке, о котором я могу подумать, но безрезультатно.
Вот что я могу проверить ...
MySql работает нормальноиспользую MySql Connector версии 6.5.4 и создала другие веб-формы ASP.net + приложения инфраструктуры приложений с проблемами ZEROЯ также попытался включить / удалить это в моем файле web.config: I '
Я буквально работал над этой ошибкой в течение нескольких дней.м до такой степени, что я был бы готов заплатить кому-то, чтобы решить это ... без шуток ... яя действительно хотел бы использовать MVC 4 и Razor - я был так взволнован, чтобы начать это, но теперь яЯ очень обескуражен - я действительно ценю любую помощь / руководство по этому вопросу!
Также обратите внимание - яиспользуя Entityframework от Nuget ...
Другое примечание
Я использовал шаблон Visual Studio по умолчанию, который создает ваш проект MVC со страницами учетной записи и другим материалом. Я просто удалил все ссылки на добавленные файлы, потому что они пытались использовать "DefaultConnection» который не сделалне существует - так что я подумал, что эти файлы могут быть причиной ошибки - однако все равно не повезло после их удаления -
Я просто хотел, чтобы все знали, что яиспользуя шаблон проекта Visual Studio MVC, который предварительно создает кучу файлов. Я буду пытаться воссоздать все это из пустого проекта MVC, который неу меня нет этих файлов - я обновлю их, как только проверю
ОБНОВЛЕНИЕ ДЛЯ ИСПОЛЬЗОВАНИЯ VS MVC Базовый шаблон: Та же самая ошибка привела - все еще нет решения
ДРУГОЙ ЧЕЛОВЕК, ОПЫТАЮЩИЙ ОДНУ И ПРОБЛЕМУ
Прямо здесь есть еще один вопрос, связанный с stackoverflow - однако я попробовал его решение безрезультатно - возможно, кто-то другой, у кого возникла такая же проблема, может воспользоваться ссылкой
ОБНОВИТЬ
Я недавно только что попытался поместить это в MS Sql Server, и леса представлений добавляются нормально без ошибок - так что яя не уверен, что это моя база данных MySql или строка подключения или что ... сводит меня с ума ..
Другие ссылки
Похоже, что у кого-то еще есть те же проблемы, что и у меня - единственное различие заключается в том, что они используют сервер SQL - я попытался настроить весь свой код, чтобы следовать рекомендациям поэтот стекопоток вопрос / ответ здесь но пока безрезультатно
ВОЗМОЖНО ИСПРАВИТЬ ???
Так что это странно ... после подключения его к MS Sql Server и добавления контроллера, а затем возврата строки подключения к MySql, это на самом деле работает с MySql ... какого черта! ??
Таким образом, кажется, что, когда вы пытаетесь добавить свой контроллер и скаффолдинг представления (это правильная фраза?) Добавляется С строкой соединения mysql, это терпит неудачу ... однако, если вы подключаете его к базе данных sql-сервера, генерируйте скаффолдинг / контроллер, а затем вернуться к строке подключения MySQL это работает ....?!?!