LINQ到SQL:“引用;字符串或二进制数据将被截断;错误
我知道这里已经有几个类似的问题了,但我找不到一个与我的问题相关的问题 我有一个SP声明如下:LINQ到SQL:“引用;字符串或二进制数据将被截断;错误,linq,linq-to-sql,Linq,Linq To Sql,我知道这里已经有几个类似的问题了,但我找不到一个与我的问题相关的问题 我有一个SP声明如下: CREATE PROC [dbo].[SomeProc] ( @param1 VARCHAR(255) , @param2 INT , @param3 VARCHAR(8) ) 将存储过程添加到数据模型时,它会生成以下签名: int SomeProc(string param1, int? param2, string param3) 我遇到的问题是,如果我对param3使用长度超过6个
CREATE PROC [dbo].[SomeProc]
(
@param1 VARCHAR(255)
, @param2 INT
, @param3 VARCHAR(8)
)
将存储过程添加到数据模型时,它会生成以下签名:
int SomeProc(string param1, int? param2, string param3)
我遇到的问题是,如果我对param3使用长度超过6个字符的参数,我总是会得到“字符串或二进制数据将被截断”错误。对我来说,这似乎与双字节字符串和单字节字符串有关,但我不太确定。它似乎也不适用于其他数据类型(NVarChar、Char等)
是什么导致了这种情况?我如何修复它?检查生成的方法上的属性
您在SP中还做了什么?这可能是因为您进一步发现了错误。检查正在更新的表的字段长度。谢谢,这就是问题所在。在proc的深处,有一个insert被插入到一个表中,该表的参数列被声明为length=6。