具有字节数组(binary(30))列的EntityFramework.Utilities UpdateAll

时间:2018-07-26 18:01:28

标签: c# .net entity-framework entity-framework-6

我正在使用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的无效列长。

1 个答案:

答案 0 :(得分:0)

binary(30)char(30)表示:数据长度必须为30。除非有特殊要求,通常我们使用ncharvarcharnvarchar,{{ 1}}。