示例#1
0
        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);
        }
示例#2
0
 public static void InputExpression(Expression <Func <Student, bool> > expression)
 {
     LambdaTranslator.ResolveExpression(expression);
 }
示例#3
0
 public List <TModel> SelectModels <TModel>(Expression expression)
 {
     LambdaTranslator.ResolveExpression(expression);
     return(null);
 }