示例#1
0
        public void CompareTptContextSuppressViaIgnoreTheseErrors()
        {
            //SETUP
            var options = this.CreateUniqueClassOptions <TptDbContext>();

            using var context = new TptDbContext(options);
            context.Database.EnsureClean();

            var config = new CompareEfSqlConfig();

            config.IgnoreTheseErrors(@"DIFFERENT: TptVer1->PrimaryKey 'PK_TptBases', constraint name. Expected = PK_TptBases, found = PK_TptVer1
DIFFERENT: TptVer1->Property 'Id', value generated. Expected = OnAdd, found = Never
DIFFERENT: TptVer1->ForeignKey 'FK_TptVer1_TptBases_Id', delete behavior. Expected = ClientCascade, found = NoAction
DIFFERENT: Entity 'TptVer1', constraint name. Expected = PK_TptBases, found = PK_TptVer1
DIFFERENT: TptVer2->PrimaryKey 'PK_TptBases', constraint name. Expected = PK_TptBases, found = PK_TptVer2
DIFFERENT: TptVer2->Property 'Id', value generated. Expected = OnAdd, found = Never
DIFFERENT: TptVer2->ForeignKey 'FK_TptVer2_TptBases_Id', delete behavior. Expected = ClientCascade, found = NoAction
DIFFERENT: Entity 'TptVer2', constraint name. Expected = PK_TptBases, found = PK_TptVer2");

            var comparer = new CompareEfSql(config);

            //ATTEMPT
            var hasErrors = comparer.CompareEfWithDb(context);

            //VERIFY
            hasErrors.ShouldBeFalse(comparer.GetAllErrors);
        }
示例#2
0
        private static void SeedData(TptDbContext ctx, ILoggerFactory loggerFactory)
        {
            ctx.Database.Migrate();

            if (ctx.People.Any())
            {
                return;
            }

            using var innerCtx = GetTphContext(loggerFactory);
            innerCtx.SeedData();
        }
示例#3
0
        public void CompareTptContext()
        {
            //SETUP
            var options = this.CreateUniqueClassOptions <TptDbContext>();

            using var context = new TptDbContext(options);
            context.Database.EnsureClean();

            var comparer = new CompareEfSql();

            //ATTEMPT
            var hasErrors = comparer.CompareEfWithDb(context);

            //VERIFY
            hasErrors.ShouldBeFalse(comparer.GetAllErrors);
        }
示例#4
0
        public void CompareTptContext()
        {
            //SETUP
            var options = this.CreateUniqueClassOptions <TptDbContext>();

            using var context = new TptDbContext(options);
            context.Database.EnsureClean();

            var comparer = new CompareEfSql();

            //ATTEMPT
            var hasErrors = comparer.CompareEfWithDb(context);

            //VERIFY
            _output.WriteLine("THIS TEST FAILS to show that this library doesn't handle Table-Per-Type entities");
            hasErrors.ShouldBeFalse(comparer.GetAllErrors);
        }
        private static void Tht()
        {
            using (var context = new TptDbContext())
            {
                var people    = context.People.ToList();
                var customers = context.Customers.ToList();
                var employees = context.Employees.ToList();

                context.Customers.Add(new CustomerTpt
                {
                    Person = new PersonTpt
                    {
                        Id        = Guid.NewGuid(),
                        FirstName = "KK",
                        LastName  = "kk"
                    },
                    DateOfBirth = DateTime.Now
                });

                context.SaveChanges();
            }
        }
 public Tpt_Queries(TptDbContext ctx, ILogger logger)
 {
     _ctx    = ctx ?? throw new ArgumentNullException(nameof(ctx));
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }