Vi havde det samme problem, og dette er løsningen:
For at tvinge entity framework til at bruge en kolonne som en primær nøgle, brug ISNULL.
For at tvinge entity framework til ikke at bruge en kolonne som en primær nøgle, brug NULLIF.
En nem måde at anvende dette på er at pakke udvælgelsen af din visning ind i en anden udvælgelse.
Eksempel:
SELECT
ISNULL(MyPrimaryID,-999) MyPrimaryID,
NULLIF(AnotherProperty,'') AnotherProperty
FROM ( ... ) AS temp