복붙노트

[SQL] 가입하고 엔티티 프레임 워크에 포함

SQL

가입하고 엔티티 프레임 워크에 포함

나는 엔티티에 LINQ의 다음 쿼리를 가지고있다. 문제는 내가 그것을 위해 일을 포함했다하더라도 "태그"관계를로드하지 않는 것이다. 내가 태그에 참여하지 않는하지만 난 그렇게 할 필요가 있다면 그것은 잘 작동합니다.

            var items = from i in db.Items.Include("Tags")
                        from t in i.Tags
                        where t.Text == text
                        orderby i.CreatedDate descending
                        select i;

이 쿼리를 요청하는 다른 방법이 있습니까? 어쩌면 그것을 분할하거나 뭔가?

해결법

  1. ==============================

    1.음,이 모순 포함합니다. 포함은 "모든 태그를로드합니다"라고 말한다. 는 "일부 태그를 넣으십시오."라고 말한다 곳 이 쿼리 사이의 모순이고 포함하면 쿼리는 항상 이길 것이다.

    음,이 모순 포함합니다. 포함은 "모든 태그를로드합니다"라고 말한다. 는 "일부 태그를 넣으십시오."라고 말한다 곳 이 쿼리 사이의 모순이고 포함하면 쿼리는 항상 이길 것이다.

    적어도 하나 개의 태그 == 텍스트로 모든 항목에서 모든 태그를 반환하려면 :

            var items = from i in db.Items.Include("Tags")
                        where i.Tags.Any(t => t.Text == text)
                        orderby i.CreatedDate descending
                        select i;
    

    (테스트되지 않은, 당신의 DB / 모델을 가지고 있지 않는 한)

    여기에 LINQ에 정말 좋은, 무료 책이다.

  2. from https://stackoverflow.com/questions/416847/join-and-include-in-entity-framework by cc-by-sa and MIT license