Ejemplo n.º 1
0
        /// <summary>
        /// 初始化。
        /// </summary>
        private void Initialize(EntityContextOptions options)
        {
            Guard.ArgumentNull(options, nameof(options));

            TrySetContextType(options);
            TrySetServiceProvider(options);
            TryPaserInstanceSetting(options);
            TryHandleConnectionTenancy(options);

            var builder = new EntityContextOptionsBuilder(options);

            OnConfiguring(builder);

            if (options.Provider == null)
            {
                throw new NotSupportedException(SR.GetString(SRKind.NotSupportDbProvider));
            }

            var contextProvider = options.GetProviderService <IContextProvider>();

            _contextService = contextProvider.CreateContextService(new ContextServiceContext(_serviceProvider, options));
        }