public List <TModel> SelectModels <TModel>(Expression expression) { LambdaTranslator.MappingDataSet = MappingDataSet; TranslatorResult res = LambdaTranslator.ResolveExpression(expression, true); List <RelationModel> relations = new List <RelationModel>(); List <string> tables = new List <string>(); //遍历所有涉及到的关系 foreach (var type in res.Types) { if (DbTypeMapping.TypeMapping(type).Equals(DbTypeMapping.UserType)) { var rls = MappingDataSet.GetRelation(type.Name); relations.Add(rls); tables.Add(rls.TbName); } else if (DbTypeMapping.TypeMapping(type).Equals(DbTypeMapping.List_UserType)) { //建立新的查询, } } var selectSql = Select.From(tables); foreach (var r in relations) { foreach (var c in r.Columns) { selectSql.AddColumns(r.TbName + "." + c.ColumnName + " as " + r.TbName + "_" + c.ColumnName); } } selectSql.SetWhere(res.GetWhere()); string sql_str = selectSql.ToSql().ToString(); var dataSet = GetDataSet(selectSql.ToSql()); var tabless = dataSet.Tables; return(null); }
public static void InputExpression(Expression <Func <Student, bool> > expression) { LambdaTranslator.ResolveExpression(expression); }
public List <TModel> SelectModels <TModel>(Expression expression) { LambdaTranslator.ResolveExpression(expression); return(null); }