Esempio n. 1
0
        /// <summary>
        /// 根据模板生成代码
        /// </summary>
        /// <param name="forceChange"></param>
        /// <param name="dllLocation"></param>
        /// <param name="tempURL"></param>
        /// <param name="tablename"></param>
        /// <param name="connectionStr"></param>
        /// <param name="nameSpaceStr"></param>
        /// <param name="dbType"></param>
        /// <returns></returns>
        public static string GenetatorTemp(bool forceChange, string dllLocation, string tempURL, string tablename, string connectionStr, string nameSpaceStr, string dbType)
        {
            if (forceChange || helper == null || appDomain == null)
            {
                try
                {
                    rwLock.EnterWriteLock();
                    helper = GetGeneratorHelper(forceChange, dllLocation);

                    return(helper.GenetatorTemp(tempURL, tablename, connectionStr, nameSpaceStr, dbType));
                }
                catch
                {
                    throw;
                }
                finally
                {
                    rwLock.ExitWriteLock();
                }
            }
            else
            {
                try
                {
                    rwLock.EnterReadLock();

                    if (helper == null || appDomain == null)
                    {
                        throw new NullReferenceException("生成器还未准备好,请稍后再试!");
                    }

                    return(helper.GenetatorTemp(tempURL, tablename, connectionStr, nameSpaceStr, dbType));
                }
                catch
                {
                    throw;
                }
                finally
                {
                    rwLock.ExitReadLock();
                }
            }
        }