Sql server 关于Fluent NHibernate/MSSQL中nvarchar(MAX)的混淆
我一直在寻找使用Sql server 关于Fluent NHibernate/MSSQL中nvarchar(MAX)的混淆,sql-server,fluent-nhibernate,Sql Server,Fluent Nhibernate,我一直在寻找使用Fluent nHibernate存储大字符串值(如博客文章或文本描述等)的最佳方法,我一直看到的答案是使用nvarchar(MAX)。如果我的读数是正确的(通常不是),那么它是4000+。所以我有一个这样的领域 Map(x => x.Description) .Column("[description]") .Length(4001) .Access.Property()
Fluent nHibernate
存储大字符串值(如博客文章或文本描述等)的最佳方法,我一直看到的答案是使用nvarchar(MAX)
。如果我的读数是正确的(通常不是),那么它是4000+。所以我有一个这样的领域
Map(x => x.Description)
.Column("[description]")
.Length(4001)
.Access.Property()
.Not.Nullable();
理论上,这应该可以做到,对吗?不过我有点困惑。在学校里,我们被非常清楚地教导,你要使每一列的大小尽可能小
如果我让那列
max
size,这是否违背了这个原则,使表变得非常大,而且浪费了时间?有谁能帮我解释清楚,愚蠢,金发碧眼的逻辑吗?我对整个经历感到非常困惑。看看这个,也许会有帮助:
明白了:请注意,max意味着最多可以存储2^31-1字节的数据。但是,它将根据数据的实际长度消耗空间