public async Task QueriesAsync()
        {
            ISession s  = OpenSession();
            long     id = 1L;

            if (TestDialect.HasIdentityNativeGenerator)
            {
                id = (long)await(s.SaveAsync(new TrivialClass()));
            }
            else
            {
                await(s.SaveAsync(new TrivialClass(), id));
            }

            await(s.FlushAsync());
            s.Close();

            s = OpenSession();
            TrivialClass tc = (TrivialClass)await(s.LoadAsync(typeof(TrivialClass), id));

            await(s.CreateQuery("from s in class TrivialClass where s.id = 2").ListAsync());
            await(s.CreateQuery("select s.Count from s in class Top").ListAsync());
            await(s.CreateQuery("from s in class Lower where s.Another.Name='name'").ListAsync());
            await(s.CreateQuery("from s in class Lower where s.YetAnother.Name='name'").ListAsync());
            await(s.CreateQuery("from s in class Lower where s.YetAnother.Name='name' and s.YetAnother.Foo is null").ListAsync());
            await(s.CreateQuery("from s in class Top where s.Count=1").ListAsync());
            await(s.CreateQuery("select s.Count from s in class Top, ls in class Lower where ls.Another=s").ListAsync());
            await(s.CreateQuery("select elements(ls.Bag), elements(ls.Set) from ls in class Lower").ListAsync());
            await(s.CreateQuery("from s in class Lower").EnumerableAsync());
            await(s.CreateQuery("from s in class Top").EnumerableAsync());
            await(s.DeleteAsync(tc));
            await(s.FlushAsync());
            s.Close();
        }
        public void Queries()
        {
            ISession s  = OpenSession();
            long     id = 1L;

            if (Dialect is MsSql2000Dialect)
            {
                id = (long)s.Save(new TrivialClass());
            }
            else
            {
                s.Save(new TrivialClass(), id);
            }

            s.Flush();
            s.Close();

            s = OpenSession();
            TrivialClass tc = (TrivialClass)s.Load(typeof(TrivialClass), id);

            s.CreateQuery("from s in class TrivialClass where s.id = 2").List();
            s.CreateQuery("select s.Count from s in class Top").List();
            s.CreateQuery("from s in class Lower where s.Another.Name='name'").List();
            s.CreateQuery("from s in class Lower where s.YetAnother.Name='name'").List();
            s.CreateQuery("from s in class Lower where s.YetAnother.Name='name' and s.YetAnother.Foo is null").List();
            s.CreateQuery("from s in class Top where s.Count=1").List();
            s.CreateQuery("select s.Count from s in class Top, ls in class Lower where ls.Another=s").List();
            s.CreateQuery("select elements(ls.Bag), elements(ls.Set) from ls in class Lower").List();
            s.CreateQuery("from s in class Lower").Enumerable();
            s.CreateQuery("from s in class Top").Enumerable();
            s.Delete(tc);
            s.Flush();
            s.Close();
        }