c# – linq2sql图像保存问题

我有一个具有属性的对象:

[Column]
public Binary Image { get; set; }

当第一次保存对象时,每次都可以,但是当它被修改时,我在SubmitChanges上得到一个例外:

The data types image and
varbinary(max) are incompatible in the
equal to operator.

这可能是什么问题?

最佳答案 你得到了“,”例外吗?问题是linq2sql想要检查以确保它应该在实际修改它之前修改列.我通常不在乎并且非常乐意更新整行,所以我将UpdateCheck = UpdateCheck.Never命名参数放在我的ColumnAttributes中.即,

[Column(UpdateCheck = UpdateCheck.Never)]

然后,当我想要保存项目时,我只是这样做:

Table<TEntity> da = MyDataContext.Context.GetTable<TEntity>();

if (entity.Id > 0)
    da.Attach(entity, true);

else
    da.InsertOnSubmit(entity);

da.Context.SubmitChanges();
点赞