2011-07-14 3 views
0

J'ai regardé autour de la meilleure façon de stocker une grande valeur de chaîne (comme un article de blog, ou une description de texte, etc.) avec Fluent nHibernate et la réponse I continuer à voir est d'utiliser un nvarchar(MAX). Lequel, si ma lecture est correcte (ce qui n'est souvent pas le cas), c'est 4000+. Donc, j'ai un champ comme ça ...Confusion à propos de nvarchar (MAX) dans Fluent NHibernate/MSSQL

 Map(x => x.Description) 
      .Column("[description]") 
      .Length(4001) 
      .Access.Property()  
      .Not.Nullable(); 

En théorie, cela devrait le faire, non? Je suis un peu confus à ce sujet cependant. À l'école, on nous a enseigné assez clairement que vous voulez que chaque colonne soit aussi petite que possible.

Si je fais la taille de la colonne max, cela ne va-t-il pas à l'encontre de ce principe et rend la table très grande et inutile? Quelqu'un peut-il jeter une logique très claire, stupide, à l'épreuve des blonds sur cela pour moi? J'ai été laissé avec beaucoup de confusion au cours de toute l'épreuve.

Répondre

0

Notez que max signifie que vous pouvez stocker jusqu'à 2 caractères^31-1 octets de données. Cependant, il va consommer de l'espace en fonction de la longueur réelle des données