.NET 코어 Webapi + EF

개발 도구 Vs2017 + MSsqlsever

VS2017, 새로운 웹 프로젝트를 엽니 다

 

, 모델 클래스가 ToDoItem의 증가를, 프로젝트를 빌드 프로젝트의 모델 폴더를 증가, 확인을 클릭합니다

1  공용  클래스 가 ToDoItem
 2      {
 3          대중   이드가 { 얻을 ; 설정 ; }
 4          공공  문자열 이름 { 얻을 ; 설정 ; }
 (5)          공공  부울 위해서 isComplete { 얻을 ; 설정 ; }
 6  
7      }
코드보기

데이터베이스와 상호 작용하기위한 모델 클래스 TodoContext 증가,

1 개   공용  클래스 TodoContext : DbContext
 2-      {
 3          공개 TodoContext (DbContextOptions <TodoContext> 옵션)
 4              : 베이스 (옵션)
 5          {
 6          }
 7  
8          공개 DbSet <가 ToDoItem> TodoItems { 얻을 ; 설정 ; }
 9      }
코드보기

열기 appsettings.json, 구성 데이터베이스 연결 문자열

{
   " 로깅 " : {
     " LogLevel에 " : {
       " 기본 " : " 경고 " 
    } 
  }, 
  " AllowedHosts " : " * " ,
   " ConnectionStrings " : {
     " TodoContext " : " = WebApiDemo 서버 =; 데이터베이스; Trusted_Connection = TRUE ; MultipleActiveResultSets = TRUE " 
  } 

}

시작에서 데이터베이스 컨텍스트에 등록 방식의 ConfigureServices 등록 서비스를 찾아 SQLSERVER에 대한 데이터베이스를 지정

 공개  공극 ConfigureServices (IServiceCollection 서비스) 
        { 
            services.AddDbContext <Models.TodoContext> (최적화 => 
             opt.UseSqlServer (Configuration.GetConnectionString ( " TodoContext " )));  // 使用SQLSERVER数据库

            services.AddMvc () SetCompatibilityVersion (CompatibilityVersion.Version_2_2).; 
        }

따라서, 기본 구성은 도구를 통해 데이터베이스를 만들 codefirst EF 방법으로 지금 완료하고있다 - "NuGet 패키지 관리자 -"패키지 관리자 콘솔 콘솔을 불러옵니다

다음과 같이 명령은 다음과 같습니다

추가 마이그레이션 초기 
업데이트 - 데이터베이스

  이제 데이터베이스가 완료 설정되었습니다

 

다음으로 우리는 컨트롤의 TodoController 폴더를 추가 

[도로 ( "API / [제어부]")] 
    [ApiController] 
    공용 클래스 TodoController : ControllerBase 
    { 
        전용 판독 전용 TodoContext의 _context; 

        공개 TodoController (TodoContext 컨텍스트) 
        { 
            _context = 컨텍스트; 

            경우 (_context.TodoItems.Count () == 0) 
            { 
                // 컬렉션, 비어있는 경우 새로운 ToDoItem을 만들기 
                모든 TodoItems을 삭제할 수 없습니다 의미 //. 
                _context.TodoItems.Add (새 ToDoItem을 {이름 = "항목 1"}); 
                _context.SaveChanges (); 
            } 
        } 

        GET // : API / 도도 
        [HttpGet]
        작업 <ActionResult <를 IEnumerable <ToDoItem을 비동기 공개 >>> GetTodoItems () 
        { 
            복귀) (_context.TodoItems.ToListAsync 기다리고; 
        } 

        GET : // API / 할일 / 5 
        [HttpGet ( "ID {}")] 
        태스크 비동기 공개 <ActionResult <ToDoItem을 >> GetTodoItem (긴 ID) 
        { 
            VAR가 ToDoItem = _context.TodoItems.FindAsync (ID)를 기다리고; 

            경우 (가 ToDoItem ==는 null) 
            { 
                ) (NOTFOUND를 리턴; 
            } 

            가 ToDoItem를 반환; 
        } 
    }

  이 시점에서, 전체 API 프로젝트가 완료 될 때 설정되었습니다, 우리는 이제 OK를 확인할 수 있습니다

호출 API, 우리가되었습니다 성공적으로 반환 값을 참조하십시오, 우리는 공통의 포스트를 이야기하고 가져 오기 및 매개 변수 일 전달

추천

출처www.cnblogs.com/NotLaterforever/p/11480341.html