public void SearchTest() { var filterType = typeof(SampleEntity); var filterProps = filterType.GetProperties(); var testFilter = EntityReflector.GetFilterByFilterableColumns(typeof(SampleEntity), filterProps, "roberto"); var result = EntitySqlParser.ParseEntity(testFilter, DatabaseEngine.SQLite, PersistenceAction.List, testFilter); result = result.Trim(); Assert.NotNull(result); Assert.StartsWith("SELECT", result); Assert.Contains("FROM", result); Assert.EndsWith(string.Format("WHERE {0}.{1} LIKE '%roberto%'", "sample_entity", "name"), result); }
public async Task <ICollection <T> > SearchAsync(object criteria, bool loadComposition = false, int recordsLimit = 0, string orderAttributes = null, bool orderDescending = false) { var result = new List <T>(); var filter = EntityReflector.GetFilterByFilterableColumns(entityType, entityProps, criteria); var queryResult = await ListObjectsAsync(filter, PersistenceAction.List, loadComposition, recordsLimit, orderAttributes : orderAttributes, orderDescending : orderDescending); if (queryResult != null) { foreach (var item in queryResult) { result.Add(item as T); } } return(result); }