У меня есть модель с именем Блог :
public class Blog
{
[Key]
public int blogId { get; set; }
[Required]
public string blogTitle { get; set; }
public string imagePath { get; set; }
[Required, DataType(DataType.Html)]
public string blogDescription { get; set; }
[DataType(DataType.DateTime)]
public DateTime blogDateTime { get; set; }
[Required]
public bool isPublished { get; set; }
[Required]
public BlogCategory blogCategory { get; set; }
public List<Comments> blogComments { get; set; }
}
И еще одна модель Комментарий :
public class Comments
{
[Key]
public int authorId { get; set; }
[Required]
public string commentAuthor { get; set; }
[DataType(DataType.Date)]
public DateTime commentDate { get; set; }
public bool isHidden { get; set; }
[Required, DataType(DataType.EmailAddress)]
public string commentAuthorEmail { get; set; }
[Required]
public string commentDescription { get; set; }
public Blog Blog { get; set; }
}
В контроллере блогов я хочу получить доступ ко всем комментариям, где isHidden = false
То, что я пробовал, это:
var blog = await _context.Blog
.Include(cat => cat.blogCategory)
.Include(comments => comments.blogComments.Any(c => !c.isHidden))
.FirstOrDefaultAsync(m => m.blogId == id);
Но я получаю исключение только
An unhandled exception occurred while processing the request.
InvalidOperationException: The Include property lambda expression 'comments => comments.blogComments.Find(c => Not(c.isHidden))' is invalid. The expression should represent a property access: 't => t.MyProperty'. To target navigations declared on derived types, specify an explicitly typed lambda parameter of the target type, E.g. '(Derived d) => d.MyProperty'.
Как я могу решить эту проблему?