Check out this SO post here, you can add an index to ensure uniqueness, as either an attribute or using EF FluentAPI Setting unique Constraint with fluent API?
Note you have to be using EF6.1 or later. Here is the MSDN article
EDIT:
After checking around here and msdn a bit, and it looks like there is a limit on PK's and index keys being 900 bytes or less so you will want to use your identity as a key, and ensure uniqueness in another way.
For an example, I tried manually creating the subject column as unique with a length of 4000 and I got this error:
Warning! The maximum key length is 900 bytes. The index 'UQ__Emails__A2B1D9048E9A2A16' has maximum length of 8000 bytes. For some combination of large values, the insert/update operation will fail.
and if you were to do the clustered key option, you would get this warning on creation (and I made the length 4000 on each column) Warning! The maximum key length is 900 bytes. The index 'PK_dbo.Emails' has maximum length of 16012 bytes. For some combination of large values, the insert/update operation will fail.
which really means almost all real-world entries will fail.
So while you can manually get around the 128 length limit, it's not recommended and you will most likely get errors and lost data. and EF will only let you have a key length of 128 - not sure what it would do if you go behind it and alter that.