2017-05-14 3 views
0

J'essaie de configurer un rôle de travail pour lire et agir en fonction des données de la base de données SQL Azure. Je définir la chaîne de connexion comme ceci:Connexion du rôle de travail avec EF 6 à la base de données SQL Azure

public DBEntities(string connectionString) : base(connectionString) {} 

Chaque fois que je tente d'exécuter le rôle des travailleurs localy je reçois l'erreur suivante lors de l'interrogation des entités:

System.Data.Entity.Infrastructure.UnintentionalCodeFirstException: ' Le contexte est utilisé en mode Code d'abord avec du code généré à partir d'un fichier EDMX pour le développement Database First ou Model First.

Pour interroger les entités:

using (ctx = new CODDBEntities(_connectionString)) 
{ 
    var result = ctx.entity.ToList().FindAll(); 
} 

Qu'est-ce que je fais mal?

Répondre

0

Il semble que vous spécifiez les stratégies d'initialisation de base de données.

les opérations suivantes:

public CODDBEntities() 
{ 
    Database.SetInitializer<CODDBEntities>(null);//Disable initializer 
} 

plus d'info ici: http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx

+0

Merci Thiago mais j'ai besoin du contraire. première approche de la base de données Ce que je ne comprends pas, c'est pourquoi lorsque l'on utilise le test unitaire pour exécuter le code ci-dessus, cela fonctionne et lorsqu'on utilise le rôle de travailleur, l'exécution passe à la fonction OnModelCreating. – Ido

0

finnaly Je l'ai. En utilisant l'article this j'ai compris que j'utilisais le mauvais type de chaîne de connexion. Je devais utiliser celui qui commençait comme - metadata = res: // */... "alors que je viens de coiped la chaîne de connexion par défaut du portail Azure