/// <summary>
        /// 验证
        /// </summary>
        /// <param name="options">数据库上下文选项</param>
        public virtual void Validate(IDbContextOptions options)
        {
            OracleOptionsExtension oracleOptionsExtension = options.FindExtension <OracleOptionsExtension>() ?? new OracleOptionsExtension();

            if (OracleSQLCompatibility != null)
            {
                OracleSQLCompatibility.Equals(oracleOptionsExtension.OracleSQLCompatibility);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 配置上下文(Context)以连接到Oracle数据库。
        /// </summary>
        /// <param name="optionsBuilder"> 用于配置上下文的创建器 </param>
        /// <param name="connection">
        /// 用于连接到数据库的现有<see cref="DbConnection" /> 。
        /// 如果连接处于打开状态,则EF不会打开或关闭连接。
        /// 如果连接处于关闭状态,那么EF将根据需要打开和关闭连接。
        /// </param>
        /// <param name="oracleOptionsAction"> 允许附加Oracle特定配置的可选操作 </param>
        /// <returns></returns>
        public static DbContextOptionsBuilder UseOracle(
            [NotNull] this DbContextOptionsBuilder optionsBuilder,
            [NotNull] DbConnection connection,
            [CanBeNull] Action <OracleDbContextOptionsBuilder> oracleOptionsAction = null)
        {
            Check.NotNull(optionsBuilder, nameof(optionsBuilder));
            Check.NotNull(connection, nameof(connection));

            // 获得扩展,参见OracleOptionsExtension类
            OracleOptionsExtension extension = (OracleOptionsExtension)GetOrCreateExtension(optionsBuilder).WithConnection(connection);

            // 配置Oracle扩展,将扩展添加到DbContextOptions中
            ((IDbContextOptionsBuilderInfrastructure)optionsBuilder).AddOrUpdateExtension(extension);

            // 配置报警扩展
            ConfigureWarnings(optionsBuilder);

            // 进行选项配置
            oracleOptionsAction?.Invoke(new OracleDbContextOptionsBuilder(optionsBuilder));

            // 返回
            return(optionsBuilder);
        }
        /// <summary>
        /// 初始化
        /// </summary>
        /// <param name="options">数据库上下文选项</param>
        public virtual void Initialize(IDbContextOptions options)
        {
            OracleOptionsExtension oracleOptionsExtension = options.FindExtension <OracleOptionsExtension>() ?? new OracleOptionsExtension();

            OracleSQLCompatibility = oracleOptionsExtension.OracleSQLCompatibility;
        }
Exemplo n.º 4
0
 public virtual void Initialize(IDbContextOptions options)
 {
     _relationalOptions = options.FindExtension <OracleOptionsExtension>() ?? new OracleOptionsExtension();
 }