2012-12-02 1 views
1

Dans mon site web, j'ai régulièrement la chaîne de connexion ADO.NET comme: ,Construire la chaîne de connexion Entité de ADO.NET

maintenant Entity Framework a ajouté sa propre chaîne de connexion à même base de données.

Comment est-il possible d'utiliser une seule chaîne de connexion ADO.NET et de créer une chaîne Entity Connection en cours d'exécution?

+0

I belive chaîne de connexion de l'entité ajoute des métadonnées à la chaîne de connexion donc pas sûr si vous pouvez utiliser ADO.NET comme chaîne de connexion d'entité –

+0

Je dois prendre des données d'ADO.NET et lier la chaîne de connexion d'entité, basée sur ADO.NET – ihorko

Répondre

3

vous pouvez utiliser EntityConnectionStringBuilder pour générer la chaîne de connexion à l'exécution dynamiquement lors de l'exécution, mais vous avez encore besoin Les métadonnées pour cette

EntityConnectionStringBuilder entityBuilder = 
    new EntityConnectionStringBuilder(); 
    //Set the provider name. 
    entityBuilder.Provider = providerName; 

    // Set the provider-specific connection string. 
    entityBuilder.ProviderConnectionString = providerString; 

    // Set the Metadata location. 
    entityBuilder.Metadata = @"res://*/AdventureWorksModel.csdl| 
           res://*/AdventureWorksModel.ssdl| 
           res://*/AdventureWorksModel.msl"; 
using (EntityConnection conn = 
    new EntityConnection(entityBuilder.ToString())) 
{ 
    conn.Open(); 
    Console.WriteLine("Just testing the connection."); 
    conn.Close(); 
} 
+0

Comment est-ce que je peux construire cette chaîne de connexion d'entité basée sur la chaîne de connexion d'ADO.NET? – ihorko

+0

la chaîne de connexion est toujours juste une chaîne de connexion vous avez juste besoin d'avoir Provider, ProviderConnectionString comme info utilisateur et ainsi de suite et métadonnées que vous pouvez obtenir en créant manuellement la chaîne de connexion EF et la copie que metadata entityBuilder.Metadata à l'exécution –

Questions connexes