Conditionnel Include() dans le Cadre de l'Entité

J'ai vu quelques réponses à des questions similaires, mais je n'arrive pas à travailler sur la façon d'appliquer la réponse à ma question.

var allposts = _context.Posts
            .Include(p => p.Comments)
            .Include(aa => aa.Attachments)
            .Include(a => a.PostAuthor)
            .Where(t => t.PostAuthor.Id == postAuthorId).ToList();

Les pièces jointes peuvent être téléchargées par l'Auteur (type de l'Auteur) ou Contributeur (type de Contributeur). Ce que je veux faire est d'obtenir uniquement les pièces Jointes lorsque le propriétaire de l'attachement est de type de l'Auteur.

Je sais que cela ne fonctionne pas et donne une erreur:

.Include(s=>aa.Attachments.Where(o=>o.Owner is Author))

J'ai lu à propos de Projection Filtrée ici

EDITION - lien vers l'article:
: http://blogs.msdn.com/b/alexj/archive/2009/10/13/tip-37-how-to-do-a-conditional-include.aspx,

mais je ne peux pas obtenir ma tête autour de lui.

Je ne veux pas inclure le filtre dans la clause where finale que je veux TOUS les messages, mais je veux seulement récupérer les pièces jointes pour les messages qui appartiennent à l'Auteur.

EDIT 2: - schéma demandé

public abstract class Post : IPostable
{

    [Key]
    public int Id { get; set; }

    [Required]
    public DateTime PublishDate { get; set; }

    [Required]
    public String Title { get; set; }

    [Required]
    public String Description { get; set; }

    public Person PostAuthor { get; set; }
    public virtual ICollection<Attachment> Attachments { get; set; }
    public List<Comment> Comments { get; set; }
}
Pouvez-vous nous montrer le Posts schéma s'il vous plaît?
voir modifier
Ce que vous demandez n'est pas possible. Linq2Sql va convertir votre code dans les matières premières SQL, et il va retourner à l'enfant les lignes via une jointure. Vous ne pouvez pas faire ce genre de mise en rejoindre en SQL. Votre seule option est de supprimer .Include(aa => aa.Attachments), et ont une deuxième requête qui renvoie les pièces jointes en fonction de si oui ou non le propriétaire est un auteur/contributeur.

OriginalL'auteur grayson | 2015-09-24