public override IEnumerable<Tuple<Feed, object>> GetFeeds(FeedFilter filter)
        {
            var q1 = new SqlQuery("projects_messages d")
                    .Select(DiscussionColumns().Select(d => "d." + d).ToArray())
                    .Select(ProjectColumns().Select(p => "p." + p).ToArray())
                    .Select(CommentColumns().Select(c => "c." + c).ToArray())
                    .InnerJoin("projects_projects p", Exp.EqColumns("p.id", "d.project_id") & Exp.Eq("p.tenant_id", filter.Tenant))
                    .LeftOuterJoin("projects_comments c",
                        Exp.EqColumns("c.target_uniq_id", "concat('Message_', d.id)") &
                        Exp.Eq("c.tenant_id", filter.Tenant) & Exp.Eq("c.inactive", 0))
                    .Where("d.tenant_id", filter.Tenant)
                    .Where(Exp.Between("d.create_on", filter.Time.From, filter.Time.To));

            var q2 = new SqlQuery("projects_messages d")
                    .Select(DiscussionColumns().Select(d => "d." + d).ToArray())
                    .Select(ProjectColumns().Select(p => "p." + p).ToArray())
                    .Select(CommentColumns().Select(c => "c." + c).ToArray())
                    .InnerJoin("projects_projects p", Exp.EqColumns("p.id", "d.project_id") & Exp.Eq("p.tenant_id", filter.Tenant))
                    .LeftOuterJoin("projects_comments c",
                        Exp.EqColumns("c.target_uniq_id", "concat('Message_', d.id)") &
                        Exp.Eq("c.tenant_id", filter.Tenant) & Exp.Eq("c.inactive", 0))
                    .Where("d.tenant_id", filter.Tenant)
                    .Where(Exp.Between("c.create_on", filter.Time.From, filter.Time.To));

            using (var db = new DbManager(DbId))
            {
                var comments = db.ExecuteList(q1.Union(q2)).ConvertAll(ToComment);
                var groupedDiscussions = comments.GroupBy(c => c.Discussion.ID);

                return groupedDiscussions
                    .Select(d => new Tuple<Message, IEnumerable<ProjectComment>>(d.First().Discussion, d))
                    .Select(ToFeed);
            }
        }