2010-11-25 5 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); 

そして、私のデータベースに私はこれを取得本当に奇妙な新しいデータベース:二つのテーブルdbo.EdmMetadataDBOと MyAppNamespace.Models.PicturesCatalog 。写真

テーブルは罰金ですが、なぜそれがそれらのテーブルで(接続文字列のように)PicturesDatabaseという名前の新しいデータベースを作成しないのですか?

このテーブルを何回か削除しようとしましたが、PicturesDatabaseを作成して使用しようとしましたが、まだこのMyAppNamespace.Models.PicturesCatalogが生成されています。それの問題は何ですか?そして私はそれをどのように修正するのですか?

答えて

5

System.Data.Entity.Infrastructure.SqlConnectionFactoryは、この方法で使用することはできません。この接続ファクトリには、ユーザ名、パスワード、サーバなどのすべてのものではなく、個の最終接続のをオーバーライドできるコンストラクタが含まれています。

例えば、我々はこのようなデータベースサーバを変更することができます。

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

簡単にあなたのapp.configに接続文字列を提供することによって達成することができ、ここでやろうどのようなもの試合の名前

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

うん、それは私がしたいだけのように動作します: - あなたのDbContextは、私はそれがPicturesCatalogだと仮定します。ありがとう! –

+0

いいえ問題は、喜んでそれが助けた:) –

関連する問題