2017-08-18 2 views
-2

Salut les gars, j'essaie de déployer l'application mvc sur azure. jusqu'à présent, j'ai fait la moitié du travail. Donc, l'application Web principale avec AplicationDbContext est mes tables Identity2.0 sont pour l'utilisateur et les rôles et ainsi de suite. Maintenant, j'ai la bibliothèque de classes DAL pour model et QuizContext pour le reste de l'application. I quoi utiliser une instance de base de données pour stocker ces deux contextes et comme vous pouvez le voir à partir de l'explorateur de serveur à gauche son fait sur localhost, mais quand je tente de le publier sur azure seul mvc web project est déployé. Juste pour être sûr ive connecté avec SQL Management Studio à la base de données azur et il montre seulement les tables d'identité. Après avoir cherché quelques jours en ligne pour trouver une solution, j'ai abandonné parce qu'ils sont tous des choses de base.Azure mvc web app déploiement avec 2 dbcontexts et bibliothèque de classes

Pouvez-vous m'aider à y arriver: D Mon objectif est de déployer une application web avec des bibliothèques de classes et 2 DbContexts en utilisant une base de données sur azur.

Merci beaucoup.

lien vers des images afin u obtenir une meilleure compréhension de mon problème

http://testic1.azurewebsites.net/

+0

Vous devez modifier la chaîne de connexion de votre base de données (dans web.config) pour pointer vers votre azur SQL Server ... Avez-vous réellement regardé des tutoriels comme c'est un point de base? – Milney

+0

yup je l'ai fait, merci pour la réponse. la chose est si je pars la chaîne de défaut par défaut cela fonctionne toujours. Je suis un peu sûr que la chaîne n'est pas un problème. Je préfère plutôt configurer quelque chose d'autre. Je ne sais pas quoi. l'application fonctionne telle quelle. il ne suffit pas de télécharger la bibliothèque de classe dal avec ce deuxième contexte db –

+0

Que voulez-vous dire, il ne «télécharge pas dal class library»? Comment sais-tu cela? Afficher le message d'erreur et la partie du code où vous le référencez ... – Milney

Répondre

0

il n'y a pas msg d'erreur. à la console de publication je viens de publier le projet - 1 et c'est tout.

cela est dbcontext de la bibliothèque de classe

namespace Quiz.DAL 
{ 
    public class QuizContext : DbContext 
    { 
     public QuizContext() : base("name=DefaultConnection") 
     { 
     } 
     public virtual DbSet<Option> Options { get; set; } 
     public virtual DbSet<Question> Questions { get; set; } 
     public virtual DbSet<Category> Categories { get; set; } 
     public virtual DbSet<Test> Tests { get; set; } 
    } 
} 

c'est dbcontext de l'application Web mvc

namespace Quiz.Models 
{ 
    public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
    { 
     public ApplicationDbContext() 
      : base("DefaultConnection", throwIfV1Schema: false) 
     { 
     } 
     public static ApplicationDbContext Create() 
     { 
      return new ApplicationDbContext(); 
     } 
    } 
} 

c'est une chaîne de connexion de projet web mvc, bibliothèque de classes DAL ne pas chaîne de connexion

<connectionStrings> 
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Quiz.mdf;Initial Catalog=Quiz;Integrated Security=True" providerName="System.Data.SqlClient" /> 
</connectionStrings> 
+0

Eh bien, s'il n'est référencé nulle part dans le projet que vous avez déployé, il ne sera pas déployé .... essayez de l'utiliser dans le projet principal et redéployez – Milney

+0

je l'ai fait référence. cependant ive le comprendre. cette chose est que vous devez changer le changement de nom de chaîne de connexion pour chaque dbcontext à la fois dans la base du constructeur et web.config. –

+0

... Celui de la base du constructeur n'est pas utilisé si on en trouve un dans Web.Config, comme je l'ai dit - il suffit de changer la chaîne de connexion dans web.config lol – Milney