LINQ问题NTEXT,文字和图片的SQL服务器上(LINQ problems with NText

2019-08-16 15:42发布

道歉了前面,因为这不是一个问题,而是一个解决方案 - 但它采取了很多搜索找出答案的和谷歌是没有太大的帮助,所以我想通过提供错误回馈给社会,该解决方案以帮助未来的Google。

当使用LINQ to SQL,我提交的变化(第二次)到数据表时,遇到了一个问题。 我第一次提交更改一切正常,我第二次提交修改我收到一个SQL例外,这表示:

"The text, ntext, and image data types cannot be compared or sorted, 
 except when using IS NULL or LIKE operator"

当我打电话的SubmitChanges()抛出异常,但因为LINQ的延迟加载,它实际上在之前的线出现了,当我打电话刷新(RefreshMode.KeepCurrentValues,myObject的)的。

Answer 1:

问题是,刷新模式,试图比较当前的所有领域的数据库版本,SQL不支持那种比较的文本,ntext和image列(至少SQL Server 2000中不上)。

该解决方案是将以下属性添加到您的列定义

UpdateCheck = UpdateCheck.Never

[Column(DbType = "NText", CanBeNull = true, UpdateCheck = UpdateCheck.Never)]

然后刷新模式下工作确定和的SubmitChanges没有任何进一步的问题。



文章来源: LINQ problems with NText, Text and Image on SQL server