public List <TSearchEntityResult> SearchEntitiesByString(string strValue) { List <TSearchEntityResult> searchResult = new List <TSearchEntityResult>(); List <string> entityNames = entityConfig.GetRootEntityNames(); foreach (string entityName in entityNames) { string selectQuery = entityConfig.GetEntityQuery(entityName, EntityQueryType.FindByString); if (string.IsNullOrEmpty(selectQuery)) { continue; } DataTable entityResult = sqlRunner.GetTableResultWithParam(selectQuery, strValue); for (int i = 0; i < entityResult.DefaultView.Count; i++) { int key; string foundStrValue = "n\a"; string foundColumn = ""; bool parseResult = Int32.TryParse(entityResult.DefaultView[i]["KeyValue"].ToString(), out key); if (parseResult) { foundStrValue = entityResult.DefaultView[i]["StrValue"].ToString(); foundColumn = entityResult.DefaultView[i]["FoundColumn"].ToString(); } searchResult.Add( new TSearchEntityResult() { Key = key, StrValue = foundStrValue, FoundColumn = foundColumn, EntityName = entityName }); } } return(searchResult); }