Beispiel #1
0
        /// <summary>
        /// 获取PersistenceResolve
        /// </summary>
        public static PersistenceResolver CreateResolver(Type entityType)
        {
            string key = string.Format("PersistenceResolver_{0}", entityType.ToString());
            PersistenceResolver resolver = PersistenceCache.GetPersistenceResolvers(key);

            if (resolver == null)
            {
                string[] temps = DbHelper.ProviderName.Split(new char[] { '.' });
                if (temps.Length > 0)
                {
                    Type type = Type.GetType(string.Format("EasySoft.Core.Persistence.RepositoryImplement.{0}PersistenceResolver", temps[temps.Length - 1]));
                    resolver            = (PersistenceResolver)Activator.CreateInstance(type);
                    resolver.EntityType = entityType;
                }
                if (resolver == null)
                {
                    throw new ArgumentNullException("PersistenceResolve");
                }
                PersistenceCache.SetPersistenceResolvers(key, resolver);
            }

            return(resolver);
        }