이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 27075|회답: 0

[출처] EF Core Series 2는 OnModelCreating을 캡슐화하고, 반사를 이용한 인덱스 생성 등 다양한 기능을 제공합니다

[링크 복사]
2020-9-22 10:57:19에 게시됨 | | | |
인덱싱은 여러 데이터 저장소에서 공통적으로 사용되는 개념입니다. 데이터 저장소에서의 구현은 다양할 수 있지만, 더 효율적으로 열 기반 조회(또는 열 집합)에도 활용될 수 있습니다.

하이퍼링크 로그인이 보입니다.

알아야 할 사항:

.net/c#은 반사 동적 실행 방식을 활용합니다
https://www.itsvse.com/thread-4771-1-1.html

C# 반사는 객체 속성의 디스플레이네임을 얻습니다
https://www.itsvse.com/thread-3219-1-1.html

Entity Framework 6에서는 필드에 속성을 추가해 인덱스를 추가할 수 있지만, ef core에서는 속성으로 테이블 필드에 인덱스를 추가할 수 없으므로 OnModelCreating 메서드를 다시 작성하고 해당 규칙을 하나씩 작성해야 합니다.

이 메서드로 서로 다른 테이블을 작성해야 하는데, 유지보수가 쉽지 않고 가독성도 낮기 때문에 각 테이블의 인덱스를 자체 메서드로 작성하여 업데이트와 검색을 원활하게 합니다.

EF 코어가 사용됩니다코드 프리스트스키마는 테이블 구조를 만듭니다.

먼저, 새로운 IOnModelCreate 인터페이스를 생성하세요. 코드는 다음과 같습니다:

우리는 서로 다른 테이블의 클래스 클래스 하단에 객체를 정의하고 인터페이스를 상속합니다. 예를 들어:

AccountSetting 코드:
EmailSendHistory설정 코드:

자신의 DbContext 컨텍스트 객체에서 OnModelCreating 메서드를 다시 작성하고, reflection 메서드를 사용한 뒤, OnModelCreating 메서드를 실행하여 인덱스, 관계, 데이터 시딩 등을 생성합니다.

OnModelCreating 메서드는 다음과 같습니다:



Create 마이그레이션 명령을 실행하여 다음 코드를 생성합니다:



발견, 인덱스 생성은 반사 방법을 통해 성공적으로 생성할 수 있습니다.

(끝)





이전의:.NET Core는 Redis 기반의 분산 잠금 원칙 파싱을 구현합니다
다음:ASP.NET 코어(1)는 Redis 캐싱을 사용합니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com