public void X()
        {
            var        model      = new Model();
            EntityType entityType = model.AddEntityType(typeof(SimpleRecord));
            Property   property   = entityType.AddProperty(typeof(SimpleRecord)
                                                           .GetTypeInfo()
                                                           .GetProperty(nameof(SimpleRecord.Id)));

            var            valueGeneratorCacheDependencies    = new ValueGeneratorCacheDependencies();
            var            valueGeneratorCache                = new ValueGeneratorCache(valueGeneratorCacheDependencies);
            var            valueGeneratorSelectorDependencies = new ValueGeneratorSelectorDependencies(valueGeneratorCache);
            var            mongoDbValueGeneratorSelector      = new MongoDbValueGeneratorSelector(valueGeneratorSelectorDependencies);
            ValueGenerator valueGenerator = mongoDbValueGeneratorSelector.Select(property, entityType);

            Assert.IsAssignableFrom(typeof(ObjectIdValueGenerator), valueGenerator);
        }
        /// <summary>
        /// 实例化
        /// </summary>
        /// <param name="dependencies">值生成器缓存依赖</param>
        /// <param name="logger">日志</param>
        public OracleValueGeneratorCache(
            [NotNull] ValueGeneratorCacheDependencies dependencies,
            IDiagnosticsLogger <DbLoggerCategory.Database> logger = null)
            : base(dependencies)
        {
            if (Check.IsTraceEnabled(logger?.Logger))
            {
                Trace <DbLoggerCategory.Database> .Write(logger, LogLevel.Trace, OracleTraceTag.Entry, OracleTraceClassName.OracleValueGeneratorCache, OracleTraceFuncName.ctor);
            }

            m_oracleLogger = logger;

            if (Check.IsTraceEnabled(logger?.Logger))
            {
                Trace <DbLoggerCategory.Database> .Write(logger, LogLevel.Trace, OracleTraceTag.Exit, OracleTraceClassName.OracleValueGeneratorCache, OracleTraceFuncName.ctor);
            }
        }
Esempio n. 3
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="ValueGeneratorCache" /> class.
 /// </summary>
 /// <param name="dependencies"> Parameter object containing dependencies for this service. </param>
 public SqlServerValueGeneratorCache([NotNull] ValueGeneratorCacheDependencies dependencies)
     : base(dependencies)
 {
 }
Esempio n. 4
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="ValueGeneratorCache" /> class.
 /// </summary>
 /// <param name="dependencies"> Parameter object containing dependencies for this service. </param>
 public NpgsqlValueGeneratorCache([NotNull] ValueGeneratorCacheDependencies dependencies)
     : base(dependencies)
 {
 }
Esempio n. 5
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="ValueGeneratorCache" /> class.
 /// </summary>
 /// <param name="dependencies"> Parameter object containing dependencies for this service. </param>
 public OracleValueGeneratorCache([NotNull] ValueGeneratorCacheDependencies dependencies)
     : base(dependencies)
 {
 }
Esempio n. 6
0
 public MySQLValueGeneratorCache([NotNull] ValueGeneratorCacheDependencies dependencies)
     : base(dependencies)
 {
 }
Esempio n. 7
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="ValueGeneratorCache" /> class.
 /// </summary>
 /// <param name="dependencies"> Parameter object containing dependencies for this service. </param>
 public AseValueGeneratorCache(ValueGeneratorCacheDependencies dependencies)
     : base(dependencies)
 {
 }
Esempio n. 8
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="ValueGeneratorCache" /> class.
 /// </summary>
 /// <param name="dependencies">Parameter object containing dependencies for this service.</param>
 public ValueGeneratorCache(ValueGeneratorCacheDependencies dependencies)
 {
     Dependencies = dependencies;
 }