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> >()); }
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); }