So I have a drop and recreate setup in my application's core project which is consumed by all of my apps in this solution. My model changes significantly enough to where I need this drop and recreate the database tables each time I recycle my app pool (app is in rapid development right now.) The problem is that if 2+ projects are kicked off at the same time, the drop and recreate steps on each other and many times there are missing tables.

I need a way to prevent, at runtime, the creation of the model based on a condition. I tried:

```
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    if (condition) 
        return;
    //...

    base.OnModelCreating(modelBuilder);
}

```

but this is not working... the tables are still being created. How can I do this?