我有一个具有属性的对象:
[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();