示例#1
0
        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());
            }
        }
示例#2
0
        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);
        }
示例#3
0
 public Task <IEnumerable <Object> > RequestAsync(ILinqProvider linqProvider, BookInGenreQrit qrit)
 {
     throw new NotImplementedException();
 }