2017-11-21 21 views
2

EFコアとNetコアを使い始めたばかりですが、一般的には何の答えも見つけられなかった問題が発生しました。Entity Frameworkコア - Context.Database.Migrate()にアクセスする方法

私はストレージ用にSQLiteデータベースを使用するコンソールアプリケーションで作業しています。私は今、物事をテストしているし、コンテキストでの作業はうまく動作します。私の下のプログラム例は正常に動作します。最初にデータベースを作成するためにマイグレーションを使用したことに注意してください。

最終的に私はこのアプリケーションを終了したら、データベースが存在することを確認します。他の記事で読んだとおり、これはctx.Database.Migrate()で行うべきです。私はまだこの方法にアクセスすることはできません。だから私の質問は私がそれにアクセスするために何をしなければならないのか?拡張メソッドを追加するパッケージがありませんか?より多くのものを設定する必要がありますか?

この非常に基本的な質問をお待ちしていますが、これについては何も見つかりませんでした。だから私はちょうどどこを見るか分からないなら、私は読書の勧告についてもうれしいでしょう。

using System; 
using MyLog.NetCore.Models; 
using MyLog.NetCore.DataAccess; 

namespace MyLog.NetCore 
{ 
    internal class Program 
    { 
     #region Private Methods 

     private static void Main(string[] args) 
     { 
      using (var ctx = new MyLogContext()) 
      { 
       ctx.Add(new PartialLogEntry { PartialLogEntryID = 1, StartDateTime = 1, Title = "Test" }); 
       var count = ctx.SaveChanges(); 
       Console.WriteLine($"{count} changes saved to database!"); 

       Console.WriteLine(); 
       Console.WriteLine("All partial lof entries in database:"); 
       foreach (var entry in ctx.PartialLogEntries) 
       { 
        Console.WriteLine($"ID: {entry.PartialLogEntryID}\tStart: {entry.StartDateTime}\tTitle: {entry.Title}"); 
       } 
      } 

      Console.ReadLine(); 
     } 

     #endregion Private Methods 
    } 
} 

答えて

6

多くのEFコアメソッドが拡張メソッドとして実装されています。だから、彼らが利用できるように、あなたが必要とするこの最初のものは次のとおりです。

using Microsoft.EntityFrameworkCore; 

この特定の方法は、Microsoft.EntityFrameworkCore.Relationalアセンブリ内に常駐するRelationalDatabaseFacadeExtensionsで定義されているので、あなたはそれを参照していることを確認してください。

+0

インストールパッケージMicrosoft.EntityFrameworkCore.Relational -Version 2.0.1 More Refrence – Floxy

関連する問題