ASP.NET Core 에 Entity Framework 를 어떻게 사용 하 는 지 자세히 알 아 보기

먼저.NET Core 와 고전.NET Framework 의 Library 는 Entity Framework 를 포함 하여 통용 되 지 않 습 니 다!
어 떡 하지?서 두 르 지 마 세 요.마이크로소프트 는.NET Core 버 전의 Entity Framework 를 발 표 했 습 니 다.구체 적 인 설정 방법 은 전형 적 인.NET Framework 버 전과 조금 다 릅 니 다.다음 내용 은 ASP.NET Core 에서 Entity Framework DB first 를 응용 하도록 안내 합 니 다.
주:현재 일부 도 구 는 Preview 버 전에 있 습 니 다.정식 버 전 은 조금 다 를 수 있 습 니 다.
 초기 준비:
1.당신 의 IDE 로 VS 2015 Update 3 를 추천 합 니 다.다운로드 주소:https://www.jb51.net/softjc/446184.html
2...........................................................................
3.Sql Server 데이터베이스 가 필요 합 니 다.
구 조 는 그래 야 한다.

CREATE DATABASE TestNetCoreEF 
GO 
USE TestNetCoreEF 
GO 
CREATE TABLE Student( 
  ID int identity primary key, 
  Name nvarchar(50), 
  Age int 
) 
 
INSERT INTO Student VALUES('Bear',18) 
INSERT INTO Student VALUES('Frank',20)
프로젝트 생 성
VS 에서 새 항목 을 만 들 고,항목 유형 은 ASP.NET Core Web Application(.NET Core)에서 선택 하 며,항목 이름 을 TestEFInNetCore 로 입력 하 십시오.

다음은 웹 애플 리 케 이 션,오른쪽 인증 선택:인증 없 음

Entity Framework 설치
도구 열기->NuGet 패키지 관리자->패키지 관리자 콘 솔

Pack Manager Console 에서 다음 명령 을 실행 합 니 다.
  Install-Package Microsoft.EntityFrameworkCore.SqlServer
  Install-Package Microsoft.EntityFrameworkCore.Tools CPre
  Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design
Project.json 을 열 고 노드 tool 에 다음 설정 을 추가 합 니 다.

"tools": { 
  "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final", 
  …………. 
}
이것 은 VS 에서 해당 하 는 가방 을 로 컬 로 자동 으로 다운로드 합 니 다.현재 이것 은 preview 버 전 입 니 다.정식 버 전 은 닫 으 십시오.
주:https://docs.efproject.net/en/latest/intro.html
데이터베이스 매 핑 생 성
Pack Manager Console 에서 다음 명령 을 실행 합 니 다.

Scaffold-DbContext "{Your DB connect string}" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
{Your DB connect string}:데이터베이스 연결 문자열
Microsoft.Entity Framework Core.sql Server:대상 데이터 베 이 스 는 Sql Server 입 니 다.
-OutputDir 모델:생 성 된 파일 의 저장 디 렉 터 리 입 니 다.현재 디 렉 터 리 는 루트 디 렉 터 리 에 있 는 Models 디 렉 터 리 입 니 다.
이후 엔진 은 SQL Server 데이터 베 이 스 를 연결 하고 지정 한 디 렉 터 리 에 파일 을 생 성 하려 고 합 니 다.
디 렉 터 리 에서***Context.cs 를 찾 아 열 면 다음 과 같은 방법 을 발견 할 수 있 습 니 다.

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
  #warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.
  optionsBuilder.UseSqlServer(@"{your sql connect string}");
}
코드 에 적 힌 warning 을 자동 으로 생 성 하 는 것 처럼 연결 문자열 을 여기에 두 지 말 아야 합 니 다.다음 작업 은 app settings.json 에서 설정 을 읽 습 니 다.
***Context.cs 에 ConnectionString 을 저장 하 는 속성 을 추가 합 니 다.또한 OnConfiguring 방법 을 다시 써 야 합 니 다.완전한 코드 는 다음 과 같 아야 합 니 다.

public static string ConnectionString { get; set; } 
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
{ 
  optionsBuilder.UseSqlServer(ConnectionString); 
}
appSetting.json 을 열 고 다음 코드 를 추가 합 니 다.

"ConnectionStrings": { 
  "TestNetCoreEF": "Data Source={your sql server host address};Initial Catalog=TestNetCoreEF;user id={your username};password={your password};" 
},
전체 코드 는 이렇게 해 야 합 니 다:

{ 
  "ConnectionStrings": { 
    "TestNetCoreEF": "Data Source={your sql server host address};Initial Catalog=TestNetCoreEF;user id={your username};password={your password};" 
  }, 
  "Logging": { 
    "IncludeScopes": false, 
    "LogLevel": { 
      "Default": "Debug", 
      "System": "Information", 
      "Microsoft": "Information" 
    } 
  } 
}
Startup.cs 를 열 고 Configure Services(IServiceCollection services)방법 에 다음 코드 를 추가 합 니 다.
TestNetCoreEFContext.ConnectionString = Configuration.GetConnectionString("TestNetCoreEF");
전체 코드 는 다음 과 같 아야 합 니 다:

public void ConfigureServices(IServiceCollection services) 
{ 
  //config the db connection string 
  TestNetCoreEFContext.ConnectionString = Configuration.GetConnectionString("TestNetCoreEF"); 
 
  // Add framework services. 
  services.AddMvc(); 
}

Entity Framework 호출 에 대하 여
정말,나 를 믿 어.예전 과 똑 같 아.정말 똑 같 아.

Models.TestNetCoreEFContext context = new Models.TestNetCoreEFContext();

var StudentList = context.Student.ToList();
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기