public List <dynamic> getDynamicQuery(int id, DTO.SearchOptions o) { var rdef = dbset.Single(a => a.ID == id); var meta = SqlServerUtils.getMetadata(DataContext, rdef.sqlquery); var queryType = buildQueryType(meta); Task <List <object> > raw = dbFactory.Get().Query <dynamic>().FromSql( //Task<List<object>> raw = db.Get().Database.SqlQuery( //queryType, rdef.sqlquery, new SqlParameter { ParameterName = "beginDate", Value = o.beginDate }, new SqlParameter { ParameterName = "endDate", Value = o.endDate }, new SqlParameter { ParameterName = "dwccardnum", Value = o.dwccardnum }).ToListAsync(); // TODO catch exception and handle here raw.Wait(); var results = raw.Result; return(results); }
public List <QueryMetadata> getColumns(string tableName) { if (tableName == null) { throw new ArgumentNullException("tableName can't be null"); } return(SqlServerUtils.getMetadata(DataContext, "select top 0 * from " + tableName)); }
public void getDynamicQuery_test_all_metadata() { // arrange var context = frb.ToFactory().Get(); var reports = frb.ToRepoReports().GetAllQ(); foreach (var r in reports) { var result = SqlServerUtils.getMetadata(context, r.sqlquery); Assert.IsTrue(result.Count > 2); } // act // assert }