When I developed applications Database First, I would always set limits (the likely maximum required) on varchar or nvarchar fields as this reduced SQL Server page size - and was generally seen as best practice.
I notice that Code First, MVC 4, EF5 apps seem to just set string fields to nvarchar(max) unless specifically set.
Is it Best Practice to annotate all model strings with [MaxLength(n)]? I have seen little mention of this but it seems like a bad idea to be using nvarchar(max) at the SQL Server level?!
Am I missing something? Are there any benchmarks or hard stats to back this up either way.
What is seen as best practice?
Thanks.