2010-11-25 43 views
1

對於樣品我使用這個連接字符串:EF CTP 4數據庫名稱配置

<connectionStrings>  
<add name="PicturesDatabase" 
     connectionString=" Server=.; 
          Database=SomeprojectDatabase; 
          Trusted_Connection=True;" 
     providerName="System.Data.SqlClient"/> 
<../> 

然後,我用它的Application_Start():

Database.DefaultConnectionFactory = 
    new SqlConnectionFactory(ConfigurationManager. 
     ConnectionStrings["PicturesDatabase"].ConnectionString); 

而在我的數據庫中,我得到這個真奇怪新數據庫: MyAppNamespace.Models.PicturesCatalog 與兩個表dbo.EdmMetadatadbo。圖片

表格很好,但它爲什麼不創建一個新的數據庫名爲PicturesDatabase(如在連接字符串)與這些表?

我試過下降這個表幾次,我曾嘗試創建PicturesDatabase,並用它...但它仍然會產生這種MyAppNamespace.Models.PicturesCatalog。它有什麼問題?我該如何解決它?

回答

5

System.Data.Entity.Infrastructure.SqlConnectionFactory並不意味着以這種方式使用。該連接工廠包括一個構造函數,使我們可以覆蓋件最終連接刺痛,如用戶名,密碼和服務器,而不是整個事情。

例如,我們可以更改數據庫服務器這樣的:

Database.DefaultConnectionFactory = 
     new SqlConnectionFactory("Server=MyDatabaseServer"); 

你試圖在這裏做可以在你的app.config提供一個連接字符串很容易地完成這也就比賽的名字你的DbContext - 我想這是PicturesCatalog

<connectionStrings> 
    <add name="PicturesCatalog" connectionString="data source=.; 
     Initial Catalog=PicturesDatabase; Trusted_Connection=True;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 
+0

是啊,它只是我想要的方式。多謝! – 2010-11-26 09:58:29