Esempio n. 1
0
        /// <summary>
        /// 根据定义的模型类生成代码
        /// </summary>
        /// <param name="tempURL"></param>
        /// <param name="forceChange"></param>
        /// <param name="dataString"></param>
        /// <returns></returns>
        public static string GenetatorCodeFirst(string dllLocation, string tempURL, bool forceChange, string dataString)
        {
            if (forceChange || helper == null || appDomain == null)
            {
                try
                {
                    rwLock.EnterWriteLock();
                    helper = GetGeneratorHelper(forceChange, dllLocation);

                    return(helper.GenetatorCodeFirst(tempURL, dataString));
                }
                catch
                {
                    throw;
                }
                finally
                {
                    rwLock.ExitWriteLock();
                }
            }
            else
            {
                try
                {
                    rwLock.EnterReadLock();

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

                    return(helper.GenetatorCodeFirst(tempURL, dataString));
                }
                catch
                {
                    throw;
                }
                finally
                {
                    rwLock.ExitReadLock();
                }
            }
        }