ASP.NET Core 에 Entity Framework 를 어떻게 사용 하 는 지 자세히 알 아 보기
5234 단어 entityframework.NETCore
어 떡 하지?서 두 르 지 마 세 요.마이크로소프트 는.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();
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Entity Framework 7의 새로운 기능: ExecuteDelete 및 ExecuteUpdate를 사용한 대량 작업그렇다면 이미 엔터티를 업데이트하고 삭제할 수 있는데 이 기능이 필요한 이유는 무엇입니까? 이것은 새로운 EF 버전과 관련하여 목록의 맨 위에 있었던 테마이며 이번에도 마찬가지입니다. 먼저 엔터티를 검색하고 모든 엔...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.