Пример #1
0
        public virtual IEnumerable <T> DoSelect <T>(List <Expression <Func <T, bool> > > where = null, Dictionary <Expression <Func <T, object> >, RowOrder> orderBy = null, int page = 1, int count = int.MaxValue) where T : class
        {
            ThrowIfInvalidPage(orderBy, page, count);
            TryGetFromCache(out string query, out IList <QueryInfo> queryParameters);
            query = query ?? _queryGenerator.GenerateSelect(out queryParameters, where, orderBy, page, count);
            TrySetCache(query, queryParameters);

            var cmd = new DotEntityDbCommand(DbOperationType.Select, query, queryParameters);

            cmd.ProcessReader(reader =>
            {
                return(DataDeserializer <T> .Instance.DeserializeMany(reader, cmd));
            });
            DotEntityDbConnector.ExecuteCommand(cmd);

            return(cmd.GetResultAs <IEnumerable <T> >());
        }
Пример #2
0
        public void SelectGeneration_WithoutAnything_Valid()
        {
            var sql      = generator.GenerateSelect <Product>(out IList <QueryInfo> queryParameters);
            var expected = "SELECT * FROM `Product`;";

            Assert.AreEqual(expected, sql);
            Assert.AreEqual(0, queryParameters.Count);
        }