当我开发应用程序数据库优先时,我总是会在varchar或nvarchar字段上设置限制(可能需要的最大值),因为这会减少SQL Server页面大小 - 通常被视为最佳实践。
我注意到Code First,MVC 4,EF5应用程序似乎只是将字符串字段设置为nvarchar(max),除非特别设置。
使用[MaxLength(n)]注释所有模型字符串是最佳实践吗?我几乎没有提到这一点,但在SQL Server级别使用nvarchar(max)似乎是一个坏主意?!
我错过了什么吗?是否有任何基准或硬性统计数据支持这两种方式。
什么被视为最佳做法?
感谢。
答案 0 :(得分:2)
我绝对建议指定maxlength。您认为始终使用nvarchar(max)
这是一个坏主意的假设是正确的(我的意见)。
两种方法都有利弊。
使用nvarchar(max)
反对使用nvarchar(max)
nvarchar(2)
上的其他开发人员nvarchar(max
描述较少。通过查看模式定义,应该存储的内容更为明显。nvarchar(max)
无法编入索引。