Nie można pobrać metadanych

MVC4 + Entity Framework 4.4 + MySql + POCO / Code First

Konfiguruję powyższą konfigurację ... oto moje klasy:

namespace BTD.DataContext
{
public class BTDContext : DbContext
{

    public BTDContext()
        : base("name=BTDContext")
    {

    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        //modelBuilder.Conventions.Remove<System.Data.Entity.Infrastructure.IncludeMetadataConvention>();
    }

    public DbSet<Product> Products { get; set; }

    public DbSet<ProductImage> 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; }

}
}

Oto moja konfiguracja web.config ...

<connectionStrings>
<add name="BTDContext" connectionString="Server=localhost;Port=3306;Database=btd;User Id=root;Password=mypassword;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
Baza danych I tabele już istnieją ...Nadal jestem całkiem nowy w mvc, ale używałemten samouczek

Aplikacja tworzy dobrze ... jednak gdy próbuję dodać kontroler przy użyciu produktu (BTD.Data) jako mojej klasy modelu i BTDContext (BTD.DataContext) jako mojej klasy kontekstu danych, otrzymuję następujący błąd:

Nie można pobrać metadanych dla BTD.Data. Produkt używający tego samego DbCompiledModel do utworzenia kontekstu dla różnych typów serwerów baz danych nie jest obsługiwany. Zamiast tego utwórz osobny DbCompiledModel dla każdego typu używanego serwera.

Jestem całkowicie zepsuty - przeczytałem google z prawie każdą inną odmianą tego komunikatu o błędzie powyżej, o czym mogę pomyśleć, ale bezskutecznie.

Oto rzeczy, które mogę zweryfikować ...

MySql działa poprawnieKorzystam z MySql Connector w wersji 6.5.4 i stworzyłem inne formularze internetowe ASP.net + aplikacje szkieletowe z problemami ZERO

Próbowałem również włączyć / usunąć to w moim web.config:

<system.data>
<DbProviderFactories>
  <remove invariant="MySql.Data.MySqlClient"/>
  <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>

Dosłownie pracowałem nad tym błędem od wielu dni - doszedłem teraz do sedna, że ​​byłbym skłonny zapłacić komuś, aby go rozwiązać ... bez żartu ... Naprawdę chciałbym używać MVC 4 i Razor - I Byłem tak podekscytowany, że mogłem zacząć, ale teraz jestem zniechęcony - naprawdę doceniam każdą pomoc / wskazówki na ten temat!

Zauważ też - używam Entityframework z Nuget ...

Kolejna uwaga

Używałem domyślnego wizualnego szablonu studyjnego, który tworzy twój projekt MVC ze stronami kont i innymi rzeczami. Po prostu usunąłem wszystkie odniesienia do dodanych plików, ponieważ próbowali użyć „DefaultConnection”, które nie istniało - więc pomyślałem, że te pliki mogą być przyczyną błędu - jednak nadal nie ma szczęścia po ich usunięciu -

Chciałem tylko, aby wszyscy wiedzieli, że używam szablonu projektu wizualnego MVC w studio, który tworzy kilka plików. Spróbuję odtworzyć to wszystko z pustego projektu MVC, który nie ma tych plików - zaktualizuję to raz, aby przetestować to

AKTUALIZACJA DO KORZYSTANIA Z VS MVC Basic Template: Wystąpił ten sam błąd - nadal nie ma rozwiązania

KOLEJNA OSOBA DOŚWIADCZAJĄ TEGO SAMEGO PROBLEMU

Tutaj jest kolejne pytanie dotyczące przepływu stosu, które naśladuje moje - jednak próbowałem jego rozwiązania bezskutecznie - może ktoś inny, który ma ten sam problem, może skorzystać z linku

AKTUALIZACJA

Niedawno próbowałem umieścić to w serwerze MS Sql, a rusztowanie widokowe dodaje się bezbłędnie - więc nie jestem pewien, czy jest to moja baza danych MySql lub ciąg połączenia, czy co ... doprowadza mnie do szału.

Inne referencje

Wygląda na to, że ktoś inny ma te same problemy, co ja - jedyna różnica polega na tym, że używają serwera sql - próbowałem poprawić cały mój kod, aby przestrzegać sugestiito pytanie / odpowiedź na temat stackoverflow tutaj ale bezskutecznie

MOŻLIWA POPRAWA?

Więc to jest dziwne ... po podłączeniu go do serwera MS Sql i dodaniu kontrolera, a następnie przywróceniu ciągu połączenia do MySql jest to PRACA z MySql ... co do cholery! ??

Wydaje się więc, że podczas próby dodania kontrolera i rusztowania widoku (czy jest to właściwe wyrażenie?) Z ciągiem połączeń mysql, którego się nie powiedzie ... jeśli jednak podłączysz go do bazy danych serwera sql, wygeneruj rusztowanie / controller, a następnie przywróć ciąg połączenia mysql, który działa ....?!?!

questionAnswers(6)

yourAnswerToTheQuestion