Visual Studio内の.NET Core 1.xコンソールアプリケーションからEntity Framework Core 1.xを使用するにはどうすればよいですか?ワークフローとASP.NET MVC Core 1.xの開発に慣れていたコマンドを試しましたが、localdbへの接続エラーが発生しました。.Net Core Consoleアプリケーション経由でEntity Framework Core 1.xからlocaldbに接続
ASP.NET MVC Core 1.xアプリケーションでの作業と異なるコンソールアプリケーションでlocaldbを使用するにはどうすればよいですか?
背景
正常に使用ASP.NET MVCコア1.xとEntity Frameworkのコア1.1を持って数回、私はいくつかの面倒な作業を行うには、単純な.NETコアコンソールアプリケーションを作成するために必要な(負荷XMLを新しいデータベースに追加して、XMLの構造に緩やかに一致するテーブルを作成します)。
私はMicrosoft.EntityFrameworkCore.SqlServer(1.1.2)
- Microsoft.EntityFrameworkCore.Design(1.1.2)
- をインストールするNuGetを使用)
DbSetsでDbContextを作成しました。私はOnConfiguring()メソッドを追加し、オンラインのコード例で見つけたような接続文字列をハードコードしました。私のDbContextは、次のようになります。
public class ApplicationDbContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Server=(localdb)\\mssqllocaldb;Database=MyXmlExport;Trusted_Connection=True;MultipleActiveResultSets=true");
}
public DbSet<Author> Authors { get; set; }
public DbSet<Thread> Threads { get; set; }
public DbSet<Post> Posts { get; set; }
}
は、私はシンプルなもの(「MyXmlExport」)にデータベース名を変更し、作業ASP.NET MVCコア1.xのアプリケーションのappsettings.jsonから接続文字列をつかみました。 私は初期移行を作成することができました。私は次のエラーを取得する
update-database
::私は、私が使用していたワークフロー、すなわち呼び出しを使用しようとしたとき
は確立中
「ネットワーク関連またはインスタンス固有のエラーが発生しましたSQL Serverへの接続(サーバー:SQLネットワークインターフェイス、エラー:50 - ローカルデータベースランタイムエラーが発生しました)指定されたLocalDBインスタンス名が無効です。 "
Sql Server Object Explorer経由でlocaldbインスタンスに接続できます。私は手動でMyXmlExportデータベースを作成しようとしましたが、少なくとも1つの潜在的な問題を減らすことを望みました。しかし、Visual Studioのツーリングは、コンソールアプリケーションのコンテキストで使用されると、データベースにアクセスできないようです。
フル・エラー・スタック:
'@ 'は、逐語的な文字列リテラルを使用していることを意味します。サーバー名とインスタンス名の間で '\ 'をエスケープしないでください。しかしそれがあなたのエラーであるかどうかは分かりません。 – roryWoods
ああ...私はそれについても考えなかった。はい...私は@を取り除きました。 (気分が悪い)。ありがとうございました。これを答えにすると、それを答えとしてマークします。 –