public PageIQueryableResult <data_source_fields> GetPageList([FromUri] FieldsQueryParam param)
        {
            var query = db.data_source_fields.AsQueryable().Where(a => a.UserId == 1);

            if (!string.IsNullOrEmpty(param.keyword))
            {
                query = query.Where(a => a.FieldName.Contains(param.keyword) || a.FieldName.Contains(param.keyword));
            }
            if (param.dataSource.HasValue)
            {
                query = query.Where(a => a.DataSourceId == param.dataSource.Value);
            }

            var count = query.Count();

            var skip = (param.page - 1) * param.limit;

            var list = query.OrderByDescending(a => a.Id).Skip(() => skip).Take(param.limit);


            var result = new PageIQueryableResult <data_source_fields>
            {
                code    = 0,
                message = "获取数据源成功",
                count   = count,
                data    = list,
            };

            return(result);
        }
        public PageIQueryableResult <FieldConfigView> GetFieldConfigViews([FromUri] FieldsQueryParam param)
        {
            var queryable =
                from e in db.data_source_fields
                join d in db.work_order on e.DataSourceId equals d.InportSourceId into dd
                from d in dd.DefaultIfEmpty()
                join a in db.field_mapping on d.OrderId equals a.OrderId into aa
                from a1 in aa.DefaultIfEmpty()
                select new FieldConfigView
            {
                Id             = a1.Id,
                FieldIn        = a1.FieldIn ?? e.FieldName,
                FieldComment   = e.FieldComment,
                FieldType      = e.FieldType,
                FieldOut       = a1.FieldOut,
                InportSourceId = e.DataSourceId,
                Methods        = (
                    from b in db.field_method_mapping
                    join c in db.method on b.MethodId equals c.Id
                    where b.FieldConfigId == a1.Id && a1 != null
                    select new MethodView
                {
                    Id = c.Id,
                    AssemblyPath = c.AssemblyPath,
                    Description = c.Description,
                    IsStatic = c.IsStatic,
                    MethodName = c.MethodName,
                    Params = c.Params,
                    ReturnType = c.ReturnType,
                    TypeCode = c.TypeCode,
                    TypeFillName = c.TypeFillName
                }
                    )
            };

            if (param.dataSource.HasValue)
            {
                queryable = queryable.Where(a => a.InportSourceId == param.dataSource);
            }

            var count = queryable.Count();
            var skip  = (param.page - 1) * param.limit;

            var pageList = queryable.OrderByDescending(a => a.Id).Skip(() => skip).Take(param.limit);


            var result = new PageIQueryableResult <FieldConfigView>
            {
                code    = 0,
                message = "获取工单成功",
                count   = count,
                data    = pageList,
            };

            return(result);
        }