ASP.NET 5 / MVC 6 con database MySQL

asp.net-core entity-framework-core mysql mysql-connector

Domanda

Ho intenzione di costruire un sito Web MVC 6 che sarà ospitato su Linux, e attualmente sono in fase di test iniziale per vedere come funzionano il nuovo ASP.NET 5 (vNext) e MVC 6 e se posso distribuire tutto su Linux.

Il mio sito web deve fare uso di un database e dato che verrà distribuito su Linux ovviamente non posso usare SQL Server. Mi piacerebbe molto usare MySQL ma forse ci sono altre alternative? Diciamo solo che per ora ho bisogno di MySQL, a meno che non sia possibile.

Mi rendo conto che tutto questo è ancora in fase beta e non è pronto per la produzione, ma sto solo cercando di eseguire la configurazione iniziale per assicurarmi che tutto funzioni correttamente prima di iniziare a lavorare sul sito web attuale. Non posso farlo se non c'è una connessione al database ...

Ho presto scoperto che non esiste ancora un connettore MySQL per Entity Framework 7, che è quello che usa MVC 6. Questo significa che sono sfortunato e dovrò aspettare fino a quando un nuovo connettore MySQL uscirà con supporto per EF7? O posso eventualmente tornare a EF6 in un sito Web MVC 6, che supporta MySQL? Ho provato ad aggiungere le distribuzioni a EF6 ma ci sono così tante dipendenze nel modello MVC 6 di default che tutte le referenze EF7 sono completamente perso e non ho idea di come avvicinarmi a questo, se è addirittura possibile.

Quindi per riassumere:

  • Posso usare EF 7 già con MySQL o devo aspettare fino a quando un nuovo MySQL Connector non lo supporta?
  • Posso tornare a EF6 e utilizzare ancora MVC 6 e distribuire su Linux (usando Mono)? Se è così, come faccio a configurarlo?
  • Se tutto il resto fallisce, posso usare un altro database con MVC 6 su Linux / Mono?

Risposta popolare

Sono a conoscenza di 2 soluzioni per te. SQLite e Postgres. Sfortunatamente, nessuno dei due è adatto per un'applicazione di produzione fino ad oggi . Entrambi i progetti sono in fase di sviluppo attivo. SQL Server è ancora il DB meglio supportato in EF 7. Ciò dovrebbe funzionare da Mono, ma sfortunatamente richiederebbe l'utilizzo di un server Windows (o SQL Azure).

SQLite

inserisci la descrizione dell'immagine qui

Non ideale per i server, ma funziona ancora : EntityFramework.Sqlite è in sviluppo per EF 7. Puoi ottenere beta1 da Nuget.org. Questo dovrebbe funzionare su Mono.

PostgreSQL

Npgsql.EntityFrame

Sicuramente pre-release, ma è in fase di costruzione : Inoltre, Postgres ( npgsql ) si sta sviluppando sul provider EF7. Il loro codice è onGitHub e puoi ottenere un pacchetto pre-rilascio dal loro feed MyGet (Aggiungi https://www.myget.org/F/npgsql-unstable alle sorgenti di Nuget.)




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché