2017-02-21 122 views
0

我有幾個項目(我試圖連接到本地DB):使用EF配置連接字符串++/CLI

  1. DB_API項目(C#項目)連接到DB
  2. NativeCallingCLR.MixedDLL(C++/CLI) - IL橋調用C#DB API方法
  3. NativeCallingCLR.Native(C++) - 實現從C++/CLI的API連接到DB

該項目結構是基於: https://www.codeproject.com/Articles/35041/Mixing-NET-and-native-code

我試圖配置EF連接不與運行程序集配置,但與其他配置/創建一個配置文件到本地c + +項目。

我試圖來配置這樣的連接:

創建一個類的結構是這樣的:

public partial class ABC : DbContext 
{ 
    public ABC(DbConnection conn) : base (conn,true) 
    { 

    } 
} 

然後創建的DbConnection對象是這樣的:

public int CreateConnection(string DBConnectionString, string DBProviderName) 
{ 
    var conn = DbProviderFactories.GetFactory(DBProviderName).CreateConnection(); 
    conn.ConnectionString = DBConnectionString; 
    db = new ABC(conn); 
    return _PASS; 
} 

我用這些參數調用CreateConnection:

DBConnectionString="metadata=res://*/InDBM.csdl|res://*/InDBM.ssdl|res://*/InDBM.msl;provider=System.Data.SqlClient;provider connection string='data source=localhost;initial catalog=Mycatalog;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework'" 

DBProviderName="System.Data.EntityClient" 

這些參數工作得很好,當我試圖連接一個app.config和一個C#運行程序集,但是當我嘗試連接創建Dbconnection對象時,此方法失敗。

有人知道我在做什麼錯在這裏?

回答