ASP.net MVC 4, la chaîne de Connexion
Je suis en train d'apprendre MVC4 de
http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-data-from-a-controller (edit: correction de l'URL)
Tout fonctionne parfaitement, mais ma base de données n'est pas mis à jour mais quand je lance le projet, les dossiers sont à venir de quelque part, et je ne pouvais pas trouver cette base de données dans mon MSSQL.
Ma chaîne de connexion dans le web.la config est
<connectionStrings>
<add name="PurchaseInfosDbContext"
connectionString="server=lakpa-pc;Integrated Security=SSPI; User ID=sa; Password=xxxxx; database=MessInfo" providerName="System.Data.SqlClient" />
</connectionStrings>
mais dans Visual studio lorsque je debug-je obtenir la chaîne de connexion que
"Data Source=.\\SQLEXPRESS;Initial Catalog=Mvc4Projects.Models.ItemsDetailsDbContext;Integrated Security=True;MultipleActiveResultSets=True"
N'est-il pas censé lire la chaîne de connexion à partir du web.config. Je n'ai pas modifié toute la chaîne de connexion sur toutes les pages.
un. Est-il nécessaire d'inclure SDF fichier comme indiqué dans le tutoriel? Je ne peux pas la mettre directement à jour de fichier mdf?
- Mon tutoriel utilise LocalDB. <connectionStrings> <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcApplication1-20120816100809;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-MvcApplication1-20120816100809.mdf" providerName="le Système de.Les données.SqlClient" /> </connectionStrings>
Vous devez vous connecter pour publier un commentaire.
Mon problème était que le nom de la classe héritant DbContext était différent, MVC a été prise de connexion par défaut pour SQLExpress même si je n'ai pas le spécifier.
Bien j'ai changé le Nom de la Classe similaire à la Chaîne de Connexion nom et maintenant son pointant vers la correction de l'emplacement.
Peut-être que ce sera utile à quelqu'un.
Problème rencontré et résolu
un. La Classe qui hérite de DbContext doit être utilisé comme un nom pour la chaîne de connexion.
b. La Requête SQL que Entity framework ajouter a pluriel nom de la table afin d'utiliser l'attribut
[Table("PurchaseInfo")] pour le rendre singulier.
c. Lors de l'utilisation de POCO méthode, vous rencontrerez un problème de clé si vous ne suivez pas sa convention de nommage comme dans mon exemple sa Clé doit être "PurchaseInfoID" mais j'ai utilisé ItemId . Donc, utiliser l'attribut [Touche] pour résoudre ce problème.
J'ai le même problème, si vous avez déjà le Dossier App_Data de la supprimer et d'ajouter ensuite un nouveau Projet-> Ajouter ASP.Net dossier -> App_Data
Lorsque vous démarrez une nouvelle MVC 4 projet avec l'Internet "Demande", il ajoute une chaîne de connexion par défaut qui pointe vers une base de données sql express. Êtes-vous sûr que vous n'avez pas que la chaîne de connexion dans votre site web.config encore?
J'ai trouvé cet article - http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-1-user-profile.aspx
ce qui résout le problème. Toutefois, cela s'applique si l'utilisateur exécute l'Application dans IIS