示例#1
0
        public void Sequence_name_is_obtained_from_named_model_default_sequence()
        {
            var property = CreateConventionModelBuilder()
                           .ForMySqlUseSequenceHiLo("DaneelOlivaw")
                           .Entity <Robot>()
                           .Property(e => e.Id)
                           .Metadata;

            var cache = new MySqlValueGeneratorCache(new ValueGeneratorCacheDependencies());

            Assert.Equal("DaneelOlivaw", cache.GetOrAddSequenceState(property).Sequence.Name);
        }
示例#2
0
        public void Block_size_is_obtained_from_model_default_sequence()
        {
            var property = CreateConventionModelBuilder()
                           .ForMySqlUseSequenceHiLo()
                           .Entity <Robot>()
                           .Property(e => e.Id)
                           .Metadata;

            var cache = new MySqlValueGeneratorCache(new ValueGeneratorCacheDependencies());

            Assert.Equal(10, cache.GetOrAddSequenceState(property).Sequence.IncrementBy);
        }
示例#3
0
        public void Block_size_is_obtained_from_specified_sequence()
        {
            var property = CreateConventionModelBuilder()
                           .HasSequence("DaneelOlivaw", b => b.IncrementsBy(11))
                           .Entity <Robot>()
                           .Property(e => e.Id)
                           .ForMySqlUseSequenceHiLo("DaneelOlivaw")
                           .Metadata;

            var cache = new MySqlValueGeneratorCache(new ValueGeneratorCacheDependencies());

            Assert.Equal(11, cache.GetOrAddSequenceState(property).Sequence.IncrementBy);
        }
示例#4
0
        public void Non_positive_block_sizes_are_not_allowed()
        {
            var property = CreateConventionModelBuilder()
                           .HasSequence("DaneelOlivaw", b => b.IncrementsBy(-1))
                           .Entity <Robot>()
                           .Property(e => e.Id)
                           .ForMySqlUseSequenceHiLo("DaneelOlivaw")
                           .Metadata;

            var cache = new MySqlValueGeneratorCache(new ValueGeneratorCacheDependencies());

            Assert.StartsWith(
                CoreStrings.HiLoBadBlockSize,
                Assert.Throws <ArgumentOutOfRangeException>(() => cache.GetOrAddSequenceState(property).Sequence.IncrementBy).Message);
        }
示例#5
0
        public void Sequence_name_is_obtained_from_model_default_sequence()
        {
            var modelBuilder = CreateConventionModelBuilder();

            var property = modelBuilder
                           .UseHiLo()
                           .Entity <Robot>()
                           .Property(e => e.Id)
                           .Metadata;

            modelBuilder.FinalizeModel();

            var cache = new MySqlValueGeneratorCache(new ValueGeneratorCacheDependencies());

            Assert.Equal("EntityFrameworkHiLoSequence", cache.GetOrAddSequenceState(property, CreateConnection()).Sequence.Name);
        }
示例#6
0
        public void Block_size_is_obtained_from_named_model_default_sequence()
        {
            var modelBuilder = CreateConventionModelBuilder();

            var property = modelBuilder
                           .UseHiLo("DaneelOlivaw")
                           .Entity <Robot>()
                           .Property(e => e.Id)
                           .Metadata;

            modelBuilder.FinalizeModel();

            var cache = new MySqlValueGeneratorCache(new ValueGeneratorCacheDependencies());

            Assert.Equal(10, cache.GetOrAddSequenceState(property, CreateConnection()).Sequence.IncrementBy);
        }
示例#7
0
        public void Schema_qualified_sequence_name_is_obtained_from_named_sequence()
        {
            var modelBuilder = CreateConventionModelBuilder();

            var property = modelBuilder
                           .Entity <Robot>()
                           .Property(e => e.Id)
                           .UseHiLo("DaneelOlivaw", "R")
                           .Metadata;

            modelBuilder.FinalizeModel();

            var cache = new MySqlValueGeneratorCache(new ValueGeneratorCacheDependencies());

            Assert.Equal("DaneelOlivaw", cache.GetOrAddSequenceState(property, CreateConnection()).Sequence.Name);
            Assert.Equal("R", cache.GetOrAddSequenceState(property, CreateConnection()).Sequence.Schema);
        }