제네릭을 사용하는 ef core select 문에서 명명 된 필드 선택

내 데이터베이스에 새 레코드를 삽입하는 방법이 있습니다.

public static async Task SaveDataToEntitySetAsync<TEntity>(DbContext context,List<TEntity> list) 
    where TEntity : class
{
    if(list.Any() == false)
        return;
    
     var dbSet = context.Set<TEntity>();
     var existingData = await dbSet.Select(x=>x.Id).ToListAsync();
     list.RemoveAll(x => existingData.Contains(x.Id));
     await dbSet.AddRangeAsync(list);
}

위의 논리는 제네릭을 사용하지 않은 경우 수행하려는 것입니다.

이것을 제네릭에서 작동하는 구문으로 어떻게 변환 할 수 있습니까? .Id가 유효하지 않기 때문에이 구문은 일반 컨텍스트에서 작동하지 않습니다.

EF Core를 사용하고 있으므로 테이블에 레코드가 추가되면 EF Core가 연결된 외래 키 테이블에 자동으로 레코드를 추가합니다.

이 접근 방식의 문제점은 내 컨텍스트에서 각 테이블에 대해이 메서드를 호출한다는 것입니다.

영국의 고객이 추가되었다고 가정 해 보겠습니다. 괜찮습니다. 고객이 추가되고 영국 국가가 추가됩니다 (아직없는 것으로 가정).

또한 데이터베이스에 저장 한 모든 국가를 추출했습니다. 영국이 이미 구해 졌기 때문에 분명히 이것은 깨질 것입니다.

따라서 이미 데이터베이스에있는 국가 목록에서 항목을 제거하려고합니다.

내 모든 엔터티는 Id가 정의 된 BaseEntity에서 나왔지만 그 사실을 어떻게 사용하는지 잘 모르겠습니다.

DavidG

엔티티는 Id속성 이있는 동일한 기본 클래스에서 이미 상속하므로 일반 유형을 다음과 같이 제한 할 수 있습니다.

where TEntity : BaseEntity

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

select를 사용하여 목록이 포함 된 x 파일에서 선택하는 방법, 명령 집합을 실행하는 데 필요한 (이 경우 curl)

분류에서Dev

명명 된 집합을 사용하여 WHERE에서 필터링

분류에서Dev

TS는 잘못된 메서드 서명을 어떻게 선택합니까?

분류에서Dev

EF Core Select 문에서 형식이 지정된 날짜 문자열을 대문자로 변환하는 방법

분류에서Dev

고유 한 하위 문서 필드 및 출력을 명명 된 키로 계산

분류에서Dev

레일 양식 필드에서 select2의 선택된 옵션 값 사용

분류에서Dev

제네릭 형식 선언과 함께 명명 된 튜플을 사용할 수 있습니까?

분류에서Dev

ID / 인증이 활성화 된 .Net 5를 사용하여 EF Core에서 데이터 시드 문제

분류에서Dev

이 업데이트 명령문의 select에서 선택된 행 수

분류에서Dev

checkGroupInput은 입력 선택의 이름을 반환합니다 (플롯에서 명명 된 목록 사용).

분류에서Dev

HTML <select> 초점 문제 : Firefox에서 <옵션>을 선택하려면 2 번의 클릭이 필요합니다.

분류에서Dev

db 테이블에서 행을 선택하기 위해 준비된 명령문을 실행할 때 pdo가 레코드를 "페치"하고 캐시합니까?

분류에서Dev

텍스트 필드에서 여러 선택 상자의 선택된 값을 얻는 방법. 저는 select js 라이브러리를 사용하고 있습니다.

분류에서Dev

EF Select 명령에서 레코드 수를 기록하는 방법

분류에서Dev

TypeScript에서 클래스 제네릭을 선택적으로 만드는 방법

분류에서Dev

JAVA의 void 정적 메서드 서명에서 제네릭 유형을 선언해야하는 이유는 무엇입니까?

분류에서Dev

XML에서 명명 된 형식을 사용하여 자식 노드를 만드는 방법

분류에서Dev

postgresql을 사용하여 명령문별로 그룹에서 특정 값 선택

분류에서Dev

명명 된 필드 값을 기반으로하는 XPath

분류에서Dev

선택한 필드를 사용하여 IEnumerable을 익명 형식으로 캐스팅하는 방법

분류에서Dev

수식을 사용하여 VBA에서 명명 된 범위를 만드는 방법 (런타임 오류 438)

분류에서Dev

spacy를 사용하여 문서에서 명명 된 엔티티 제거

분류에서Dev

JavaScript 용 Microsoft Graph Client를 사용하여 확장 된 필드에서 필드를 선택하는 방법

분류에서Dev

BETWEEN 명령을 사용하는 SQL 쿼리, CRAN R에서 날짜 선택

분류에서Dev

예외를 유발하는 SELECT 절을 만들 때 EF Core가 잘못된 탐색 필드 이름을 생성하는 이유는 무엇입니까?

분류에서Dev

Angular : mat-select-filter를 사용하고 필터 필드에 아이콘을 추가하는 검색 기능이있는 다중 매트 선택 드롭 다운

분류에서Dev

관련 엔터티의 명시 적로드와 함께 'AsNoTracking'메서드를 사용하여 EF Core에 엔터티를로드하는 방법

분류에서Dev

Eloquent를 사용하여 선택에 계산 된 필드 추가

분류에서Dev

명명 된 테이블에서 범위를 선택하고 제품을 반환하는 수식을 만듭니다.

Related 관련 기사

  1. 1

    select를 사용하여 목록이 포함 된 x 파일에서 선택하는 방법, 명령 집합을 실행하는 데 필요한 (이 경우 curl)

  2. 2

    명명 된 집합을 사용하여 WHERE에서 필터링

  3. 3

    TS는 잘못된 메서드 서명을 어떻게 선택합니까?

  4. 4

    EF Core Select 문에서 형식이 지정된 날짜 문자열을 대문자로 변환하는 방법

  5. 5

    고유 한 하위 문서 필드 및 출력을 명명 된 키로 계산

  6. 6

    레일 양식 필드에서 select2의 선택된 옵션 값 사용

  7. 7

    제네릭 형식 선언과 함께 명명 된 튜플을 사용할 수 있습니까?

  8. 8

    ID / 인증이 활성화 된 .Net 5를 사용하여 EF Core에서 데이터 시드 문제

  9. 9

    이 업데이트 명령문의 select에서 선택된 행 수

  10. 10

    checkGroupInput은 입력 선택의 이름을 반환합니다 (플롯에서 명명 된 목록 사용).

  11. 11

    HTML <select> 초점 문제 : Firefox에서 <옵션>을 선택하려면 2 번의 클릭이 필요합니다.

  12. 12

    db 테이블에서 행을 선택하기 위해 준비된 명령문을 실행할 때 pdo가 레코드를 "페치"하고 캐시합니까?

  13. 13

    텍스트 필드에서 여러 선택 상자의 선택된 값을 얻는 방법. 저는 select js 라이브러리를 사용하고 있습니다.

  14. 14

    EF Select 명령에서 레코드 수를 기록하는 방법

  15. 15

    TypeScript에서 클래스 제네릭을 선택적으로 만드는 방법

  16. 16

    JAVA의 void 정적 메서드 서명에서 제네릭 유형을 선언해야하는 이유는 무엇입니까?

  17. 17

    XML에서 명명 된 형식을 사용하여 자식 노드를 만드는 방법

  18. 18

    postgresql을 사용하여 명령문별로 그룹에서 특정 값 선택

  19. 19

    명명 된 필드 값을 기반으로하는 XPath

  20. 20

    선택한 필드를 사용하여 IEnumerable을 익명 형식으로 캐스팅하는 방법

  21. 21

    수식을 사용하여 VBA에서 명명 된 범위를 만드는 방법 (런타임 오류 438)

  22. 22

    spacy를 사용하여 문서에서 명명 된 엔티티 제거

  23. 23

    JavaScript 용 Microsoft Graph Client를 사용하여 확장 된 필드에서 필드를 선택하는 방법

  24. 24

    BETWEEN 명령을 사용하는 SQL 쿼리, CRAN R에서 날짜 선택

  25. 25

    예외를 유발하는 SELECT 절을 만들 때 EF Core가 잘못된 탐색 필드 이름을 생성하는 이유는 무엇입니까?

  26. 26

    Angular : mat-select-filter를 사용하고 필터 필드에 아이콘을 추가하는 검색 기능이있는 다중 매트 선택 드롭 다운

  27. 27

    관련 엔터티의 명시 적로드와 함께 'AsNoTracking'메서드를 사용하여 EF Core에 엔터티를로드하는 방법

  28. 28

    Eloquent를 사용하여 선택에 계산 된 필드 추가

  29. 29

    명명 된 테이블에서 범위를 선택하고 제품을 반환하는 수식을 만듭니다.

뜨겁다태그

보관