/// <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; } }
/// <summary> /// 初始化代理类 /// </summary> internal void InitProxyType(EntityProxyBuilder proxyBuilder) { _proxyType = proxyBuilder.CreateProxyType(_entityType); _createProxyInstanceHandler = FastInvoke.GetInstanceCreator(_proxyType); }