> 백엔드 개발 > C++ > Linq to Entities의 Contains() 함수를 사용하는 방법은 무엇입니까?

Linq to Entities의 Contains() 함수를 사용하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-10-29 11:14:29
원래의
558명이 탐색했습니다.

How to Use the Contains() Function in Linq to Entities?

엔터티에 Linq를 사용하는 Contains() 함수 해결 방법

질문:

사용 방법 지원 부족에도 불구하고 Linq to Entities 쿼리 내의 Contains() 함수는 무엇입니까?

답변:

업데이트: Entity Framework 기준( EF) 버전 4 이상에서는 Contains()가 직접 지원됩니다.

이전 버전의 EF의 경우 해결 방법이 필요합니다.

Contains()에 대한 사용자 정의 확장 방법

다음 확장 방법을 생성합니다.

<code class="csharp">public static IQueryable<TEntity> WhereIn<TEntity, TValue>(
    this ObjectQuery<TEntity> query,
    Expression<Func<TEntity, TValue>> selector,
    IEnumerable<TValue> collection)
{
    // ... (implementation remains the same as in the provided code)
}</code>
로그인 후 복사

선택적 정적 컬렉션 버전

선택적으로 다음과 같이 정적 컬렉션을 허용하는 버전을 생성할 수 있습니다. 입력:

<code class="csharp">public static IQueryable<TEntity> WhereIn<TEntity, TValue>(
    this ObjectQuery<TEntity> query,
    Expression<Func<TEntity, TValue>> selector,
    params TValue[] collection)
{
    return WhereIn(query, selector, (IEnumerable<TValue>)collection);
}</code>
로그인 후 복사

사용법:

이 확장 메서드를 사용하면 Linq to Entities 쿼리에서 다음과 같이 Contains()를 사용할 수 있습니다.

<code class="csharp">public static void Main()
{
    using (MyObjectContext context = new MyObjectContext())
    {
        // Using method 1 - collection provided as collection
        var contacts1 = context.Contacts.WhereIn(c => c.Name, GetContactNames());

        // Using method 2 - collection provided statically
        var contacts2 = context.Contacts.WhereIn(c => c.Name,
            "Contact1",
            "Contact2",
            "Contact3",
            "Contact4");
    }
}</code>
로그인 후 복사

위 내용은 Linq to Entities의 Contains() 함수를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿