示例#1
0
        /// <summary>
        /// 初始化所有实体
        /// </summary>
        /// <param name="dicConfigs"></param>
        internal static void InitAllEntity(Dictionary <string, EntityConfigInfo> dicConfigs)
        {
            Queue <EntityInfoHandle> queEntitys = new Queue <EntityInfoHandle>();

            foreach (KeyValuePair <string, EntityConfigInfo> item in dicConfigs)
            {
                EntityConfigInfo info = item.Value;
                if (info.Type != null)
                {
                    queEntitys.Enqueue(InitEntityPropertyInfos(info.Type, dicConfigs));
                }
            }
            EntityProxyBuilder proxyBuilder = new EntityProxyBuilder();

            while (queEntitys.Count > 0)
            {
                EntityInfoHandle handle = queEntitys.Dequeue();
                handle.InitProxyType(proxyBuilder);
                _dicClass[handle.ProxyType.FullName] = handle;
            }
        }
示例#2
0
 /// <summary>
 /// 初始化代理类
 /// </summary>
 internal void InitProxyType(EntityProxyBuilder proxyBuilder)
 {
     _proxyType = proxyBuilder.CreateProxyType(_entityType);
     _createProxyInstanceHandler = FastInvoke.GetInstanceCreator(_proxyType);
 }