有问题的字符串将是(烹饪)食谱的描述字段,最大长度应该是99%的用户永远不会遇到的事情.nvarchar(4000)似乎可能太限制了.
SQL表中的列是否适合这个位置?在这样的字段中存储这样一个(可能)大的值是不对的,但也许不是吗?
不确定是否重要,但.NET 3.5很可能会使用LINQ2SQL.
编辑:使用VS Express数据库资源管理器创建表,它告诉我4000是nvarchar的最大大小(似乎没有列出varchar作为选项).这只是SQLCE的限制,并且表明我将不得不研究其他内容吗?
如果确实这是SQLCE的限制,是否有人有另一个推荐?对于宠物项目,我必须是免费的,最好是易于设置(最好是我和最终用户,但更重要的是,它很容易为最终用户设置).数据库将是本地的,性能不是太大的问题.
你对现有食谱做过任何研究吗?一个varchar(4000)会给你大约400-500个单词,而且我很确定我的许多食谱中的很多食谱都没有比这更长的描述.
VarBinary将获得8000个字节,但如果您要在描述字段中进行任何搜索,则使用varbinary可能需要强制转换或其他操作会导致性能损失.
最后,虽然我不是特别喜欢这个,但您可以将描述规范化为一个不同的表,这样您就可以设置一对多关系并使配方具有多个描述部分,您可以在界面中重新组合.