개발 도구 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, 우리가되었습니다 성공적으로 반환 값을 참조하십시오, 우리는 공통의 포스트를 이야기하고 가져 오기 및 매개 변수 일 전달