2014-05-19 30 views
0

在Visual Studio 2013集成我有2項目的Web應用程序的解決方案:網頁API 2個人帳戶:與現有數據庫

1)StrokeInModel(即實體框架數據庫第一)

2) MyProject的(網頁API 2項目參照myEntity所項目訪問數據庫)

例如在MyProject的的控制器我有:

public class ListController : ApiController 
{ 
    private StrokeInEntities db = new StrokeInEntities(); 
    ... 
} 

並在「StrokeInModel.Context.cs」我有下面的代碼:

public partial class StrokeInEntities : DbContext 
{ 
    public StrokeInEntities() 
     : base("name=StrokeInEntities") 
    { 
    } 
    ... 
} 

我怎樣才能使用個人賬戶中的Web API來訪問現有的數據庫?我希望用戶註冊ecc ..在現有的數據庫中,而不是在LocalDB中。我必須把連接字符串放在哪裏?

+0

你的意思是在哪個項目你應該有Ef中相關的配置。如果是這種情況,那麼它應該在你的webapi項目中。 –

回答

1

從你的例子

public StrokeInEntities() 
     : base("name=StrokeInEntities") 
    { 
    } 

傳遞給基構造函數的字符串可以是一個數據庫名稱或連接字符串名稱。

所以我可以做

public StrokeInEntities() 
     : base("DefaultConnection") 
    { 
    } 

,並在WEP API項目的web.config文件中定義的連接字符串作爲

<connectionStrings> 
    <add name="DefaultConnection" 
     connectionString="Data Source=.\sqlexpress;Initial Catalog=StrokeInEntities;Integrated Security=SSPI;" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings>