⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pubfuncs.cs

📁 一个小型的ORM框架,写得不好请多多指教
💻 CS
📖 第 1 页 / 共 2 页
字号:
//                obj = Assembly.Load(assemblyname).CreateInstance(namespacename + "." + classname);

//                _HashObjectType[assemblyname + namespacename + classname] = obj.GetType();
//            }

//            return objType;
//        }

//        /// <summary>
//        /// 返回ModelObject的Key值
//        /// </summary>
//        /// <param name="ModelObject"></param>
//        /// <returns></returns>
//        public static object GetKeyValue(object ModelObject)
//        {
//            string strFullName = ModelObject.GetType().FullName;
//            string strKeyName = Convert.ToString(_HashKeyName[strFullName]);

//            if (strKeyName == "")
//            {
//                MiniORMAttribute.DataObjectAttribute ObjAttr = ModelObject.GetType().GetCustomAttributes(typeof(MiniORMAttribute.DataObjectAttribute), false)[0] as MiniORMAttribute.DataObjectAttribute;

//                if (ObjAttr != null)
//                {
//                    strKeyName = ObjAttr.Key;
//                }

//                if (strKeyName == "")
//                {
//                    throw new Exception(ModelObject.ToString() + "没有设置DataObjectAttribute的Key属性。");
//                }

//                _HashKeyName[strFullName] = strKeyName;
//            }

//            return ModelObject.GetType().InvokeMember(strKeyName, BindingFlags.GetProperty, null, ModelObject, null);
//        }

//        /// <summary>
//        /// 设置ModelObject的Key值
//        /// </summary>
//        /// <param name="ModelObject"></param>
//        /// <param name="keyValue"></param>
//        public static void SetKeyValue(object ModelObject, object keyValue)
//        {
//            string strFullName = ModelObject.GetType().FullName;
//            string strKeyName = Convert.ToString(_HashKeyName[strFullName]);

//            if (strKeyName == "")
//            {
//                MiniORMAttribute.DataObjectAttribute ObjAttr = ModelObject.GetType().GetCustomAttributes(typeof(MiniORMAttribute.DataObjectAttribute), false)[0] as MiniORMAttribute.DataObjectAttribute;

//                if (ObjAttr != null)
//                {
//                    strKeyName = ObjAttr.Key;
//                }

//                if (strKeyName == "")
//                {
//                    throw new Exception(ModelObject.ToString() + "没有设置DataObjectAttribute的Key属性。");
//                }

//                _HashKeyName[strFullName] = strKeyName;
//            }

//            ModelObject.GetType().InvokeMember(strKeyName, BindingFlags.SetProperty, null, ModelObject, new object[] { keyValue });
//        }

//        /// <summary>
//        /// 设置ModelObject的Foreignkey值,这个对于主从表的Model对象有用
//        /// </summary>
//        /// <param name="ModelObject"></param>
//        /// <param name="ForeignkeyValue"></param>
//        public static void SetForeignkeyValue(object ModelObject, object ForeignkeyValue)
//        {
//            string strFullName = ModelObject.GetType().FullName;
//            string strForeignkeyName = Convert.ToString(_HashForeignKeyName[strFullName]);

//            //首先检测缓存中是否已经有ForeignkeyName存在,如果有的话,那么直接取,这样就不再需要再反射出ForeignkeyName了
//            if (strForeignkeyName == "")
//            {
//                MiniORMAttribute.DataObjectAttribute ObjAttr = ModelObject.GetType().GetCustomAttributes(typeof(MiniORMAttribute.DataObjectAttribute), false)[0] as MiniORMAttribute.DataObjectAttribute;

//                if (ObjAttr != null)
//                {
//                    strForeignkeyName = ObjAttr.ForeignKey;
//                }

//                if (strForeignkeyName == "")
//                {
//                    throw new Exception(ModelObject.ToString() + "没有设置DataObjectAttribute的ForeignKey属性。");
//                }

//                _HashForeignKeyName[strFullName] = strForeignkeyName;
//            }

//            ModelObject.GetType().InvokeMember(strForeignkeyName, BindingFlags.SetProperty, null, ModelObject, new object[] { ForeignkeyValue });
//        }

//        /// <summary>
//        /// 返回SqlParameter数组
//        /// </summary>
//        /// <param name="userbill"></param>
//        /// <returns></returns>
//        public static SqlParameter[] GetParamsWithValue(object ModelObject)
//        {
//            List<SqlParameter> Params = new List<SqlParameter>();

//            PropertyInfo[] props = ModelObject.GetType().GetProperties();

//            MiniORMAttribute.DataFieldAttribute FieldAttr = null;
//            foreach (PropertyInfo prop in props)
//            {
//                FieldAttr = prop.GetCustomAttributes(typeof(MiniORMAttribute.DataFieldAttribute), false)[0] as MiniORMAttribute.DataFieldAttribute;
//                if (FieldAttr is MiniORMAttribute.DataFieldAttribute)
//                {
//                    Params.Add(new SqlParameter("@" + FieldAttr.FieldName, prop.GetValue(ModelObject, null)));
//                }
//            }

//            return Params.ToArray();
//        }

//        /// <summary>
//        /// 返回ModelObject的Attribute中保存的TableName
//        /// </summary>
//        /// <param name="ModelObject"></param>
//        /// <returns></returns>
//        public static string GetTableName(object ModelObject)
//        {
//            return GetTableName(ModelObject.GetType());
//        }

//        /// <summary>
//        /// 根据类型返回对象的数据库表名
//        /// </summary>
//        /// <param name="objType"></param>
//        /// <returns></returns>
//        public static string GetTableName(Type objType)
//        {
//            string strTablename = Convert.ToString(_HashTablename[objType.FullName]);

//            if (strTablename == "")
//            {
//                MiniORMAttribute.DataObjectAttribute ObjAttr = objType.GetCustomAttributes(typeof(MiniORMAttribute.DataObjectAttribute), false)[0] as MiniORMAttribute.DataObjectAttribute;
//                if (ObjAttr != null)
//                {
//                    strTablename = ObjAttr.TableName;
//                }
//                else
//                {
//                    throw new Exception(objType.ToString() + ".Attributes不属于MiniORMAttribute.DataFieldAttribute。");
//                }

//                if (strTablename == "")
//                {
//                    throw new Exception(objType.ToString() + ".DataFieldAttribute没有设置TableName属性。");
//                }

//                _HashTablename[objType.FullName] = strTablename;
//            }

//            return strTablename;
//        }

//        /// <summary>
//        /// 返回此类型的ForeignKey名
//        /// </summary>
//        /// <param name="objType"></param>
//        /// <returns></returns>
//        public static string GetForeignKey(Type objType)
//        {
//            string strForeignKey = Convert.ToString(_HashForeignKeyName[objType.FullName]);

//            if (strForeignKey == "")
//            {
//                MiniORMAttribute.DataObjectAttribute ObjAttr = objType.GetCustomAttributes(typeof(MiniORMAttribute.DataObjectAttribute), false)[0] as MiniORMAttribute.DataObjectAttribute;
//                if (ObjAttr != null)
//                {
//                    strForeignKey = ObjAttr.ForeignKey;
//                }
//                else
//                {
//                    throw new Exception(objType.ToString() + ".Attributes不属于MiniORMAttribute.DataFieldAttribute。");
//                }

//                if (strForeignKey == "")
//                {
//                    throw new Exception(objType.ToString() + ".DataFieldAttribute没有设置ForeignKey属性。");
//                }

//                _HashForeignKeyName[objType.FullName] = strForeignKey;
//            }

//            return strForeignKey;
//        }

//        /// <summary>
//        /// 返回此类型的ForeignKey名
//        /// </summary>
//        /// <param name="objType"></param>
//        /// <returns></returns>
//        public static string GetKey(Type objType)
//        {
//            string strKey = Convert.ToString(_HashKeyName[objType.FullName]);

//            if (strKey == "")
//            {
//                MiniORMAttribute.DataObjectAttribute ObjAttr = objType.GetCustomAttributes(typeof(MiniORMAttribute.DataObjectAttribute), false)[0] as MiniORMAttribute.DataObjectAttribute;
//                if (ObjAttr != null)
//                {
//                    strKey = ObjAttr.Key;
//                }
//                else
//                {
//                    throw new Exception(objType.ToString() + ".Attributes不属于MiniORMAttribute.DataFieldAttribute。");
//                }

//                if (strKey == "")
//                {
//                    throw new Exception(objType.ToString() + ".DataFieldAttribute没有设置Key属性。");
//                }

//                _HashKeyName[objType.FullName] = strKey;
//            }
//            return strKey;
//        }
//    }
//}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -