我在 SQL varchar(max) 中有一个列。使用 LINQ,当我尝试添加超过 64k 大字符串的记录时,该值不会保存到数据库中。我只是在做;
test.MyString = LargeString; //(over 64k text)
mydb.myTable.InsertOnSubmit(test);
mydb.SubmitChanges();
使用 LINQ to SQL 时有限制吗?这样做的正确方法是什么?
我在 SQL varchar(max) 中有一个列。使用 LINQ,当我尝试添加超过 64k 大字符串的记录时,该值不会保存到数据库中。我只是在做;
test.MyString = LargeString; //(over 64k text)
mydb.myTable.InsertOnSubmit(test);
mydb.SubmitChanges();
使用 LINQ to SQL 时有限制吗?这样做的正确方法是什么?
VarChar(Max)
支持最多 8000 个字符的字符串 (SQL Server 2k)。在 2005+ 上,这不会导致错误。
您可能想要使用Text
字段;对于 SQL Server 2005+,VarChar(Max)
首选.
重要的
在 MicrosoftSQL Server 的未来版本中将删除 ntext、text 和 image 数据类型。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。用于存储大型非 Unicode 和 Unicode 字符和二进制数据的固定和可变长度数据类型。Unicode 数据使用 UNICODE UCS-2 字符集。
有关 VarChar 和文本数据类型的详细信息,请参阅此内容
我注意到你在打电话InsertOnSubmit
和mydb
打电话SubmitChanges
-ISNetDB
这是错字还是错误的原因。