Exemple #1
0
        public async Task Should_insert_entityType_without_touching_real_table()
        {
            var entity = new TestEntity
            {
                Id               = new Guid("577BFD36-21BC-4F9E-97B4-367B8F29B730"),
                Name             = "Name",
                Count            = 42,
                ConvertibleClass = new ConvertibleClass(43)
            };

            ArrangeDbContext.TestEntities.Add(entity);
            await ArrangeDbContext.SaveChangesAsync();

            var entities = new List <TestEntity> {
                entity
            };

            await using var query = await ActDbContext.BulkInsertIntoTempTableAsync(entities);

            var tempTable = await query.Query.ToListAsync();

            tempTable.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new TestEntity
            {
                Id               = new Guid("577BFD36-21BC-4F9E-97B4-367B8F29B730"),
                Name             = "Name",
                Count            = 42,
                ConvertibleClass = new ConvertibleClass(43)
            });
        }
Exemple #2
0
        public async Task Should_return_disposable_query()
        {
            await using var tempTableQuery = await ActDbContext.BulkInsertIntoTempTableAsync(Array.Empty <TestEntity>());

            tempTableQuery.Dispose();

            tempTableQuery.Awaiting(t => t.Query.ToListAsync())
            .Should().Throw <SqlException>().Where(ex => ex.Message.StartsWith("Invalid object name '#TestEntities", StringComparison.Ordinal));
        }
        public async Task Should_insert_queryType()
        {
            ConfigureModel = builder => builder.ConfigureTempTableEntity <CustomTempTable>().Property(t => t.Column2).HasMaxLength(100).IsRequired();

            var entities = new List <CustomTempTable> {
                new CustomTempTable(1, "value")
            };
            var query = await ActDbContext.BulkInsertIntoTempTableAsync(entities);

            var tempTable = await query.ToListAsync();

            tempTable.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new CustomTempTable(1, "value"));
        }