Clearly defining what your domain is and how it works is the most important part.
persistence is not a concern of the domain, so you don't need to worry about schemas, migrations, etc. It can be code first.
Defining the domain logic in one place (because avoid anemic domain models) means that your assumptions/assertions about how things should work and how they do work are clear to see.
Unit testing, even if you don't follow test driven development, becomes a breeze: you likely won't even need mocks. Since unit testing tests the smallest unit possible it's simple to arrange your entity, act on it and assert the result.