簡體   English   中英

實體框架DBContext和動態ConnectionString

[英]Entity Framework DBContext and dynamic ConnectionString

我想在Windows應用程序中使用EF 4動態建立連接。 嘗試Busar記錄時,出現錯誤: 不支持的關鍵字:'provider'。

代碼錯誤: var nota = db.NotasFiscais.Find(28406);

代碼如下

主要用途

[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());
}

數據庫上下文

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");
    }
}

字型:

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

更改此:

  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;";

對於:

  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;";

資料來源:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM