【发布时间】:2010-10-13 12:05:09
【问题描述】:
我正在尝试读取一个 varchar(max) 列,但该字段被截断为 4,000 个字符。我见过similar questions,但他们在sql端。
我需要做什么才能获得整个字段?
例如:
using (DataContext dc = new DataContext())
{
var foo = dc.foos.First();
if (foo.Formula2.Length > 4000)
{
Console.WriteLine("success!");
}
}
我尝试过setting TextSize 之类的方法,但没有任何作用。:
dc.ExecuteCommand("SET TEXTSIZE 100000;");
var foo = dc.foos.First();
更新:
服务器数据类型是 varchar(max)。有问题的字段是公式2:
如果我尝试将类型更改为不同的类型,例如 Object,我会在类型 't_PriceFormula' 的列 'Formula2' 中收到消息 'DbType 'VarChar(MAX)' 和类型 'System.Object' 之间的映射不支持。'
有什么建议吗?
【问题讨论】:
-
DBML中的列是如何配置的?特别是
Server Data Type属性? -
数据库服务器的兼容级别是多少?看这里 - msdn.microsoft.com/en-us/library/bb510680.aspx
标签: c# linq-to-sql varchar