The UC in the model-only DDL SQL script suggests you have defined a UC on the BEntityId field in the entity ?
You don't have to do that, the UC is implicit.
We decided not to fix this, as it's hard to do: there's no consensus how to fix this for SQL Server, as there are multiple ways to fix it in the DDL SQL. So we left it to the user, to change the script to have a UC definition which allows nulls. As this can be done in different ways, all with their own side effects, we decided we can't pick one over the other.
Not emitting the UC in the DDL SQL would mean the relationship is actually a 1:n and allows multiple times the same FK value being present, something you also don't want as it will break at runtime.
So the 'best' way, IMHO, is to define a UC on the field, but an UC which allows null values, using one of the ways which one can work around this issue in SQL Server.
You could automate this, by using a different template for the UC creation snippet. It's the template bound to the id SD_DDLSQL_CreateUniqueConstraintInclude, see the sql server specific DDL SQL template bindings in the designer by opening the template bindings viewer and then selecting DDL SQL as framework.
The current template now simply defines a simple UC. You could extend this by checking whether a field in the UC is nullable. If so, emit a UC definition which can deal with that.
The best way to do this is in your own version of the template and then creating your own templatebindings file which overrides this defined template binding to id SD_DDLSQL_CreateUniqueConstraintInclude. If you need help with that, let us know