2016-09-08 10 views
0

Entity Frameworkの移行を使用してSQL Serverのローカル(既定の)インスタンスを使用しようとしています。MS SQL ServerでEntity Frameworkの移行を使用する

エンティティフレームワークのための私の設定はこれです:私の知る限りは、同じ名前のドキュメント、接続文字列の名前を読んで

namespace Demo.Data 
{ 
    public class MyContext : DbContext 
    { 
    } 
} 

<configuration> 
    <connectionStrings> 
    <add name="Demo.Data.MyContext" 
     providerName="System.Data.SqlClient" 
     connectionString="Data Source=(local);Initial Catalog=Connector;  
     Integrated Security=True;MultipleActiveResultSets=True" /> 
    </connectionStrings> 
    <configSections> 
    <section name="entityFramework" 
     type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </configSections> 
    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    </providers> 
    </entityFramework> 
</configuration> 

コンテキストクラスこれですそのコンテキストをEFが発見できるようにします。

しかし、私はコマンドを実行します。

PM> Update-Database -verbose 

結果がこれです:

Using StartUp project 'Demo'. 
Using NuGet project 'Demo.Data'. 
Target database is: 'Demo.Data.MyContext' (DataSource: .\SQLEXPRESS, Provider: System.Data.SqlClient, Origin: Convention). 

疑問がある - なぜそれがターゲットにこだわるん\ SQLEXPRESS。?

EFがローカルのSQL Serverを指し示すようにapp.configを構成する方法を教えてください。

Entity Frameworkの移行パッケージを含むプロジェクトは、Visual Studioの「スタートアッププロジェクト」として選択する必要があります

+1

接続文字列を追加し、コンテキストのコンストラクタでその文字列をポイントしましたか? https://msdn.microsoft.com/en-us/data/jj592674.aspx –

+0

設定に接続文字列を追加しました(ここで私の投稿を更新しました)。結果は同じです:-( –

+0

変更データソース=(ローカル);したくない場合は\ SQLEXPRESS –

答えて

0

まあ、どうやらそれはPMコンソールを使用して動作するように取得するためのトリックがあります。 PMコンソールでプロジェクトを「デフォルトプロジェクト」として選択するだけでは不十分です。

また、コンソールに

PM> Update-Database -StartUpProjectName "Demo.Data" 

スイッチを使用してこれを設定することができます。

関連する問題