выбор дочерней сущности на основе условия в Linq To Entities - PullRequest
0 голосов
/ 21 августа 2011

У меня есть объекты Article и Comments, которые связаны друг с другом в отношениях один-ко-многим.Но я не могу написать Linq, чтобы принимать только одобренные комментарии к статье.Я имею в виду, что если он показывает статью, он принимает только те комментарии, для которых их свойство Approved имеет значение true:

 public partial class Article
    {
        //
        public int ArticleID { get; set; }

         public virtual ICollection<Comment> Comments { get; set; } 
    }

     public partial class Comment
     {

        public int CommentID { get; set; }


        public int ArticleID { get; set; }

         public bool Approved { get; set; }

        public virtual Article Article { get; set; }
     }

И этот запрос я использую для получения элемента статьи:

Article _article = context.Articles.
                FirstOrDefault(x => x.ArticleID == id && x.Approved == true);

1 Ответ

0 голосов
/ 21 августа 2011

Если вы используете EF 4,1, вы можете сделать это следующим образом

Article _article = context.Articles.
                FirstOrDefault(x => x.ArticleID == id && x.Approved == true);

context.Entry(_article)
        .Collection(a => a.Comments)
        .Query()
        .Where(c => c.Approved == true)
        .Load();

См. загрузка связанных сущностей статья для получения дополнительной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...