public void ComparePropertySqlDefaultReversed() { //SETUP var options = GetDefaultSqlDbOptions(); DatabaseModel localDatabaseModel; using (var context = new MyEntitySqlDefaultDbContext(options)) { var dtService = context.GetDesignTimeService(); var serviceProvider = dtService.GetDesignTimeProvider(); var factory = serviceProvider.GetService <IDatabaseModelFactory>(); var connectionString = context.Database.GetDbConnection().ConnectionString; context.Database.EnsureCreated(); localDatabaseModel = factory.Create(connectionString, new string[] { }, new string[] { }); } using (var context = new MyEntityDbContext(_options)) { var handler = new Stage1Comparer(context.Model, context.GetType().Name); //ATTEMPT var hasErrors = handler.CompareModelToDatabase(localDatabaseModel); //VERIFY hasErrors.ShouldBeTrue(); var errors = CompareLog.ListAllErrors(handler.Logs).ToList(); errors.Count.ShouldEqual(2); errors[0].ShouldEqual( "DIFFERENT: MyEntity->Property 'MyInt', default value sql. Expected = <null>, found = 123"); errors[1].ShouldEqual( "DIFFERENT: MyEntity->Property 'MyInt', value generated. Expected = Never, found = OnAdd"); } }
public void ComparePropertyComputedColNameReversed() { //SETUP var options = GetComputedColDbOptions(); DatabaseModel localDatabaseModel; using (var context = new MyEntityComputedColDbContext(options)) { var dtService = context.GetDesignTimeService(); var serviceProvider = dtService.GetDesignTimeProvider(); var factory = serviceProvider.GetService <IDatabaseModelFactory>(); var connectionString = context.Database.GetDbConnection().ConnectionString; context.Database.EnsureCreated(); localDatabaseModel = factory.Create(connectionString, new string[] { }, new string[] { }); } using (var context = new MyEntityDbContext(_options)) { var handler = new Stage1Comparer(context.Model, context.GetType().Name); //ATTEMPT var hasErrors = handler.CompareModelToDatabase(localDatabaseModel); //VERIFY hasErrors.ShouldBeTrue(); var errors = CompareLog.ListAllErrors(handler.Logs).ToList(); errors.Count.ShouldEqual(2); errors[0].ShouldEqual( "DIFFERENT: MyEntity->Property 'MyDateTime', column type. Expected = datetime2, found = datetime"); errors[1].ShouldEqual( "DIFFERENT: MyEntity->Property 'MyDateTime', computed column sql. Expected = <null>, found = getutcdate()"); } }
public void CompareDefaultConfigNoErrors() { //SETUP using (var context = new MyEntityDbContext(_options)) { var model = context.Model; var handler = new Stage1Comparer(model, context.GetType().Name); //ATTEMPT var hasErrors = handler.CompareModelToDatabase(_databaseModel); //VERIFY hasErrors.ShouldBeFalse(); var settings = new JsonSerializerSettings(); settings.Converters.Add(new StringEnumConverter()); var json = JsonConvert.SerializeObject(handler.Logs, settings); } }