2014-05-03 4 views
0

Je souhaite établir une connexion dynamiquement en utilisant EF 4 dans une application Windows. En essayant un enregistrement de bus, donne l'erreur: Mot-clé non pris en charge: «fournisseur».Entité Framework DBContext et dynamic ConnectionString

Cette erreur de code: var nota = db.NotasFiscais.Find(28406);

Les codes sont ci-dessous

Application principale

[STAThread] 
static void Main() 
{ 
    Application.EnableVisualStyles(); 
    Application.SetCompatibleTextRenderingDefault(false); 
    NF.DataBase.Global.Conexao = new System.Data.EntityClient.EntityConnectionStringBuilder(); 
    NF.DataBase.Global.Conexao.Provider = "System.Data.SqlClient"; 
    NF.DataBase.Global.Conexao.ProviderConnectionString = "Data Source=source;Initial Catalog=base;User ID=sa; Password=pass;"; 

    Application.Run(new Form1()); 
} 

DBContext

public class ERPContext : DbContext 
{ 
    public DbSet<NotasFiscais> NotasFiscais { get; set; } 
    public DbSet<NFEmissores> NFEmissores { get; set; } 
    public DbSet<Cidades> Cidades { get; set; } 

    public ERPContext() 
     : base(NF.DataBase.Global.Conexao.ToString()) 
    { 

     Database.SetInitializer<ERPContext>(null); 
    } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Entity<NotasFiscais>().ToTable("NotasFiscais"); 
     modelBuilder.Entity<NFEmissores>().ToTable("NFEmissores"); 
     modelBuilder.Entity<Cidades>().ToTable("Cidades"); 
    } 
} 

police:

private void button1_Click(object sender, EventArgs e) 
{ 
    var db = new ERPContext(); 
    var nota = db.NotasFiscais.Find(28406); 
    ... 
} 
+0

http://social.msdn.microsoft.com/Forums/vstudio/ en-US/77ff9db1-c69d-4a14-b606-d208832b8756/mot-clé-non-support-provider? forum = netfxbcl – Misters

Répondre

0

Modifier ceci:

Application.EnableVisualStyles(); 
    Application.SetCompatibleTextRenderingDefault(false); 
    NF.DataBase.Global.Conexao = new System.Data.EntityClient.EntityConnectionStringBuilder(); 
    NF.DataBase.Global.Conexao.Provider = "System.Data.SqlClient"; 
    NF.DataBase.Global.Conexao.ProviderConnectionString = "Data Source=source;Initial Catalog=base;User ID=user; Password=pass;"; 

pour:

Application.EnableVisualStyles(); 
    Application.SetCompatibleTextRenderingDefault(false); 
    NF.DataBase.Global.Conexao = new System.Data.EntityClient.EntityConnectionStringBuilder(); 
// not provider 
    NF.DataBase.Global.Conexao.ProviderConnectionString = "Data Source=source;Initial Catalog=base;User ID=user; Password=pass;"; 

Sources:

http://social.msdn.microsoft.com/Forums/vstudio/en-US/77ff9db1-c69d-4a14-b606-d208832b8756/keyword-not-supported-provider?forum=netfxbcl

Questions connexes