2017-03-03 63 views
2

我在我的項目解決方案中有以下幾點,我試圖在一個地方維護實體框架的數據庫連接,這樣如果我必須將數據庫切換到不同的供應商(如MYSQL到MSSQL或反之亦然),我可以在一個地方更改連接名稱,並且不必在所有地方更改...我嘗試了以下結構,但遇到錯誤,如何解決它?如何在一個地方保存EF連接字符串?

項目#1

Dashboard.EntityFramework 
-->bitDbConnection.cs 


using 


namespace Dashboard.EntityFramework 
{ 
    public class bitDbConnection 
    { 
     BitDatabaseEntities bitDB = new BitDatabaseEntities(); 
    } 
} 

項目#2

Dashboard.Repository 
-->Repository.cs 

using Dashboard.EntityFramework 
when I try use to bitDB variable I can the below error 

錯誤: -

The name bitDB does not exist in current context 

回答

2

這可能不是你想要什麼,但讓你的代碼工作,這樣寫:

namespace Dashboard.EntityFramework 
{ 
    public class bitDbConnection 
    { 
     public BitDatabaseEntities bitDB = new BitDatabaseEntities(); 
    } 
} 

using Dashboard.EntityFramework 
public class Repository 
{ 
    public void DoSomething() 
    { 
     var bitDB = new bitDbConnection().bitDB; 

    } 
} 

所以,首先要bitDB領域的公衆,然後用它......對問題

編輯在評論:

public class Repository 
{ 
    private BitDatabaseEntities bitDB = new BitDatabaseEntities().bitDB; 
    public void DoSomething() 
    { 
     var x = bitDB.ToString(); 
    } 
} 
+0

米 - 有申報'VAR bitDB =新bitDbConnection的方式() .bitDB;函數之外,類之內'類Repository' – user2125827

+0

Marko - 有沒有辦法在函數外部和類內部聲明'var bitDB',以便類內的任何函數都可以使用它.. – user2125827

+0

我編輯過用另一個例子來回答... –