public void Sofisticated_Test() { var qrit = new BookInGenreQrit { Name = "ф" }; var actual = handlerLocator .For <IEnumerable <Object> >() .Ask(qrit); Assert.IsNotNull(actual); foreach (var e in actual) { Console.WriteLine(e.ToString()); } }
public override IEnumerable <Object> Request(ILinqProvider linqProvider, BookInGenreQrit qrit) { // некая сложная выборка, для которой недостаточно Expression var q1 = from b in linqProvider.Query <Book>() where b.BookGenres.Any(bg => bg.Genre.Name.StartsWith(qrit.Name)) select new { b.Id, BookName = b.Name, b.BookGenres }; var d1 = q1.ToArray(); var q2 = from b in d1 select new { b.BookName, Genre = b.BookGenres.AsQueryable().Aggregate("Genre(s): ", (g, next) => g + ", " + next.Genre.Name) }; return(q2); }
public Task <IEnumerable <Object> > RequestAsync(ILinqProvider linqProvider, BookInGenreQrit qrit) { throw new NotImplementedException(); }