我一直在寻找使用Fluent nHibernate
存储大字符串值(如博客文章或文字说明等)的最佳方式,我一直看到的答案是使用{ {1}}。如果我的阅读是正确的(通常不是),那就是4000+。所以我有一个像这样的领域......
nvarchar(MAX)
理论上,这应该做到,对吧?我对此有点困惑。在学校,我们非常清楚地告诉您,您希望每个列的大小尽可能小。
如果我将该列 Map(x => x.Description)
.Column("[description]")
.Length(4001)
.Access.Property()
.Not.Nullable();
设为大小,那是不是违背了这个原则并使表格变得非常大而浪费?任何人都可以为我提供一些非常明确,愚蠢,金发证明的逻辑吗?我对整个考验都感到很困惑。
答案 0 :(得分:1)
看看这个,也许会有所帮助:http://www.crankingoutcode.com/post/Storing-large-strings-with-Fluent-NHibernate-(automapping).aspx
和Gotcha:http://ayende.com/blog/1969/nhibernate-and-large-text-fields-gotchas
答案 1 :(得分:0)
请注意,max表示您可以存储最多2 ^ 31-1个字节的数据。但是,它会根据数据的实际长度消耗空间