我正在使用EF Utilities对数据进行批处理更新,而无需从数据库中检索。当涉及binary(30)的列(在我的情况下)时,发生以下错误。我的印象是任何具有非整数数据类型的列都将导致错误。 (我使用DateTime列进行了测试以进行更新,但没有问题。)
有人可以帮助我解决此问题吗?
var newByteArray = new byte[] {10,20,....};
var datasToUpdate = oldDatasToUpdate.Select( i => new Data { Id = i.Id, MyByteArray = newByteArray });
EFBatchOperations.For(entities, entities.Datas).UpdateAll(datasToUpdate, x => x.ColumnsToUpdate(d => d.MyByteArray));
从bcp客户端收到针对colid1的无效列长。
答案 0 :(得分:0)
binary(30)
,char(30)
表示:数据长度必须为30。除非有特殊要求,通常我们使用nchar
,varchar
,nvarchar
,{{ 1}}。