2014-07-18 74 views
5

在我使用web界面的MVC項目中,我習慣於在Web.Config文件中設置連接字符串。如何在控制檯應用程序中設置默認連接字符串?

但是,現在我正在製作一個bog標準控制檯應用程序 - 也帶有數據庫鉤子,但是如何爲應用程序全局設置連接字符串?

目前,我設置

var dbIndex = new DBContext(); 
dbIndex.Database.Connection.ConnectionString = 
    "Data Source=USER-PC;Initial Catalog=TextProject.DBContext;" + 
    "Integrated Security=True;MultipleActiveResultSets=True"; 

但是我不得不每次都設置這個ConnectionString屬性,在所有的函數調用。有沒有一種方法來設置全局連接字符串,當我沒有一個web.config?

回答

5

所以我認爲你說的是​​Entity Framework(我假設你正在使用的是)尋找defaultConnection con nection字符串。

您可以嘗試將其放在app.config文件中,正如其他人所建議的,但我不確定這是否會由EF自動提取。

你可以做什麼,如果它不能正常工作,是創建新類繼承DbContext -

public class MyDbContext : DbContext 
{ 
    public MyDbContext() : base() 
    { 
     var cs = ConfigurationManager.ConnectionStrings["defaultConnection"] 
            .ConnectionString; 

     this.Database.Connection.ConnectionString = cs;     
    } 
} 
3

App.config相當於用於控制檯或.exe程序的Web.config。

  • 上要使用ConnectionStrings在app.config
  • 的添加的AppConfig您切入點項目中的任何項目添加到System.Configuration參考。這是執行的項目。 (如控制檯.EXE)
  • 添加連接字符串中的app.config的<connectionStrings></connectionStrings>部分

現在放置在連接字符串中您的app.config

string connStr =ConfigurationManager.ConnectionStrings["ConnName"] 
    .ConnectionString; 

的App.config:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <connectionStrings> 
    <add name="ConnName" connectionString="Data Source=USER-PC;Initial Catalog=TextProject.DBContext;Integrated Security=True;MultipleActiveResultSets=True" /> 
</connectionStrings> 
</configuration> 
-1

的解決方案是非常簡單和容易。只需右鍵單擊並將項目設置爲啓動項目。默認情況下,實體框架會啓動項目和使用的App.config內部的連接字符串或web.config中

請參閱本:

enter image description here

相關問題