2017-11-21 16 views
2

저는 EF 코어와 넷 코어를 시작하고 있습니다. 일반적으로 어떤 대답을 찾을 수없는 문제가 발생했습니다.엔티티 프레임 워크 코어 - 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 더 많은 Refrence – Floxy