Currently this is by design; the Verification engine treats empty (blank) strings as null. We have an open Feature request in our Classic product that would give users the ability to specify whether or not they want the Verification engine to allow empty strings for non-nullable string types. I will open a Feature request in our EF product so that we can address this issue there as well.
One alternative workaround you may consider in the interim is to "turn the verifier off" for the string properties in which you want to allow empty strings:
1. Open up the Object Mapper.
2. Go to the property for which you want to allow the empty string.
3. In the Verification Setter Mode column, set the value to None.
4. Click Save to regenerate your model.
Of course, this may not be feasible if you have hundreds of String properties in question. And, keep in mind, turning off verification for those properties could allow bad data, e.g. null values or strings exceeding the maxlength, to get passed to the database.