3

モデルの作成にコード ファーストのアプローチを採用した MVC4 アプリケーションの作成に問題があるようですが、web.config ファイルに接続文字列が作成されていないようです。

構築されたデータベースは (localhost)\SQLEXPRESS インスタンス上に構築されているようですが、これを外部データソースに変更したいと考えています。更新する接続文字列がないと、これを行う方法がわかりません。

誰かが私を正しい方向に向けることができますか?

編集:答えがかなりよく言っていることを強調する次の図を見つけました

EF DB 初期化フローチャート
(ソース: entityframeworktutorial.net )

4

3 に答える 3

2

自分で接続文字列を追加する必要があります

<add name="SomeDb" connectionString="Data Source=SERVENAME;Initial Catalog=DBNAME;User Id=loginid;Password=password" providerName="System.Data.SqlClient" />

この文字列の名前は、コンテキスト クラスの名前と一致する必要があります。

public class SomeDb: DbContext
{
    public SomeDb()
        : base("name=SomeDb")
    { 
    }
}

これでうまくいくはずです。

于 2013-10-11T09:58:15.327 に答える
1

DbContextクラスと同じ名前の接続文字列を作成する必要があります。

<connectionStrings>
    <add name="NameOfDbContext" connectionString="Data Source=ServerName\InstanceName;Initial Catalog=DatabaseName;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

DbContextクラスのオーバーロードを使用して、接続文字列を自分で指定することもできます。

public class MyDbContext() : base("ProductionDbContext")
{
}

ProductionDbContextこれで、接続文字列として使用できます。

詳細については、MSDNのこの記事を参照してください。

于 2013-10-11T09:49:54.000 に答える