Esempio n. 1
0
        /// <summary>
        /// 查询数据是否存在
        /// </summary>
        /// <param name="mapping">数据映射表</param>
        /// <param name="query">查询表达式</param>
        /// <param name="level">安全级别</param>
        /// <returns>结果</returns>
        internal bool Exists(DataEntityMapping mapping, QueryExpression query, SafeLevel level)
        {
            bool exists = false;

            //Region region = new Region(0, 1);
            using (IDbCommand command = _dataBase.Factory.CreateExistsCommand(mapping, query))
            {
                PrimitiveDataDefine pm = PrimitiveDataDefine.Create(typeof(Int32), 0);
                foreach (object obj in QueryDataReader(pm, command, null, level))
                {
                    exists = true;
                }
            }
            return(exists);
        }
Esempio n. 2
0
        private static DataDefine TransferDataDefine(DataFieldMapping fieldMapping)
        {
            DataDefine define = null;

            if (fieldMapping is PrimitiveFieldMapping)
            {
                if (fieldMapping.ObjectType == typeof(string))
                {
                    define = PrimitiveDataDefine.CreateString(fieldMapping.IsNullable, fieldMapping.Name);
                }
                else
                {
                    if (fieldMapping.IsNullable)
                    {
                        Type itemstype = System.Type.GetType("System.Nullable`1");
                        Type type      = itemstype.MakeGenericType(fieldMapping.ObjectType);
                        define = PrimitiveDataDefine.Create(type, fieldMapping.Name);
                    }
                    else
                    {
                        define = PrimitiveDataDefine.Create(fieldMapping.ObjectType, fieldMapping.Name);
                    }
                }
            }
            else
            if (fieldMapping is EnumFieldMapping)
            {
                EnumFieldMapping em = fieldMapping as EnumFieldMapping;
                if (fieldMapping.IsNullable)
                {
                    Type itemstype = System.Type.GetType("System.Nullable`1");
                    Type type      = itemstype.MakeGenericType(fieldMapping.ObjectType);
                    define = EnumDataDefine.Create(type, em.EnumType, fieldMapping.Name);
                }
                else
                {
                    define = EnumDataDefine.Create(fieldMapping.ObjectType, em.EnumType, fieldMapping.Name);
                }
            }
            else
            {
                throw new LightDataException(RE.OnlyPrimitiveFieldCanSelectSingle);
            }
            return(define);
        }
Esempio n. 3
0
        private static DataDefine TransferDataDefine(Type dataType, string name, bool isNullable)
        {
            DataDefine define = null;

            if (dataType == typeof(string))
            {
                define = PrimitiveDataDefine.CreateString(isNullable, name);
            }
            else
            {
                if (isNullable)
                {
                    Type itemstype = System.Type.GetType("System.Nullable`1");
                    Type type      = itemstype.MakeGenericType(dataType);
                    define = PrimitiveDataDefine.Create(type, name);
                }
                else
                {
                    define = PrimitiveDataDefine.Create(dataType, name);
                }
            }
            return(define);
        }