I had a table in my schema which had a nullable int field that I also specified as being unique in the schema editor. Making it unique was silly, in retrospect, because many of the records would likely have a null value for that field, which would most definitely
mean they weren't unique :).
I'd set the unique property after working with the table for a while, and, as luck would have it, there actually was only one record with a null value in the field in question.
However, when I ran the app where the schema is used, Entity Framework threw the following startup exception:
Multiplicity is not valid in Role 'VersionedAsset' in relationship 'FK__SiteContent_VersionedAsset'. Because all the properties in the Dependent Role are nullable, multiplicity of the Principal Role must be '0..1'.
After fixing that particular problem I ran into similar situations that generated different exceptions on startup. They all had to do with my having made a field unique when it was also part of a foreign key relationship. Not all of the fields involved were
nullable (in fact, must of them weren't).
Is this a limitation of EF? Or invalid/unsupported database design? Can the nHydrate verifier catch such things if they're errors?