ASP.NET 5 / MVC 6 avec base de données MySQL

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

Question

J'ai l'intention de créer un site Web MVC 6 qui sera hébergé sur Linux et je suis actuellement en phase de test initial pour voir comment fonctionnent les nouveaux ASP.NET 5 (vNext) et MVC 6 et si je peux tout déployer sous Linux.

Mon site Web doit utiliser une base de données et, comme elle sera déployée sous Linux, je ne peux évidemment pas utiliser SQL Server. J'aimerais beaucoup utiliser MySQL, mais peut-être existe-t-il d'autres alternatives? Disons que pour le moment j'ai besoin de MySQL, à moins que ce ne soit pas possible.

Je réalise que tout ceci est encore en phase bêta et n'est pas encore prêt pour la production, mais je cherche simplement à faire la configuration initiale pour m'assurer que tout fonctionne correctement avant de commencer à travailler sur le site Web actuel. Je ne peux pas faire ça s'il n'y a pas de connexion à la base de données ...

J'ai vite découvert qu'il n'y avait pas encore de connecteur MySQL pour Entity Framework 7, qui est utilisé par MVC 6. Est-ce que cela signifie que je n'ai pas de chance et que je devrai attendre qu'un nouveau connecteur MySQL soit disponible avec la prise en charge de EF7? Ou puis-je éventuellement revenir à EF6 sur un site Web MVC 6, qui prend en charge MySQL? J'ai essayé d'ajouter des dépendances à EF6, mais le modèle par défaut de MVC 6 contient tellement de dépendances que toutes les références à EF7 me sont complètement perdues et ne savent absolument pas comment aborder ce problème, même si cela est possible.

Donc, pour résumer:

  • Puis-je déjà utiliser EF 7 avec MySQL ou dois-je attendre qu'un nouveau connecteur MySQL prenne en charge cette fonctionnalité?
  • Puis-je revenir à EF6 tout en utilisant MVC 6 et le déployer sous Linux (avec Mono)? Si oui, comment puis-je configurer cela?
  • Si tout échoue, puis-je utiliser une base de données différente avec MVC 6 sous Linux / Mono?

Réponse populaire

Je suis au courant de 2 solutions pour vous. SQLite et Postgres. Malheureusement, ni l'un ni l'autre ne conviennent à une application de production à partir d'aujourd'hui . Les deux projets sont en cours de développement. SQL Server reste la base de données la mieux prise en charge dans EF 7. Cela devrait fonctionner à partir de Mono, mais nécessiterait malheureusement l’utilisation d’un serveur Windows (ou de SQL Azure).

SQLite

entrez la description de l'image ici

Pas idéal pour les serveurs, mais fonctionne toujours : EntityFramework.Sqlite est en développement pour EF 7. Vous pouvez obtenir la version beta1 de Nuget.org. Cela devrait fonctionner sur Mono.

PostgreSQL

Npgsql.EntityFrame

Une pré-version est en cours, mais elle est en construction : De plus, Postgres ( npgsql ) est en développement sur le fournisseur EF7. Leur code est onGitHub et vous pouvez obtenir un package de version préliminaire à partir de leur flux MyGet (ajoutez https://www.myget.org/F/npgsql-unstable à vos sources Nuget.)




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi