LINQ删除错误(C#) // ///删除与数据记录ID关联的所有数据记录 /// ///数据标识记录 公共静态void DeleteDataLabels(int-DataId) { 使用(var dc=new ArtworkingDataContext()) { //删除关联的数据标签 var q=dc.tblArtworkDataLabels.Where(c=>c.dataID==dataID); 如果(q.Count()!=0) { dc.tblArtworkDataLabels.deleteAllonsSubmit(q); dc.提交更改(); } } }
如果数据库中有要删除的记录,则抛出: 例外情况详情: System.Data.SqlClient.SqlException: 文本、ntext和图像数据类型 无法进行比较或排序,除非 当使用IS NULL或LIKE运算符时 在LINQ删除错误(C#) // ///删除与数据记录ID关联的所有数据记录 /// ///数据标识记录 公共静态void DeleteDataLabels(int-DataId) { 使用(var dc=new ArtworkingDataContext()) { //删除关联的数据标签 var q=dc.tblArtworkDataLabels.Where(c=>c.dataID==dataID); 如果(q.Count()!=0) { dc.tblArtworkDataLabels.deleteAllonsSubmit(q); dc.提交更改(); } } },c#,sql,linq,C#,Sql,Linq,如果数据库中有要删除的记录,则抛出: 例外情况详情: System.Data.SqlClient.SqlException: 文本、ntext和图像数据类型 无法进行比较或排序,除非 当使用IS NULL或LIKE运算符时 在 dc.SubmitChanges() 对这个有点困惑 我现在觉得这听起来很荒谬,但我最近遇到了完全相同的问题,我的研究建议我删除dbml中的表,然后再将它拖进去,猜猜看,它是固定的!因此,请尝试删除tblArtworkDataLabels并重新创建它 我不知道是我的更改导
dc.SubmitChanges()代码>
对这个有点困惑 我现在觉得这听起来很荒谬,但我最近遇到了完全相同的问题,我的研究建议我删除dbml中的表,然后再将它拖进去,猜猜看,它是固定的!因此,请尝试删除tblArtworkDataLabels并重新创建它
我不知道是我的更改导致了模型和数据库之间的不同步,还是纯粹的VS问题。也许您的DBML文件不再是最新的
除此之外,您还应该分析发送到数据库的SQL,这样您就可以看到实际发生的情况。尝试在有问题的列的列属性中将UpdateCheck
设置为Never
:
/// <summary>
/// Deletes all data records associated with a data record ID
/// </summary>
/// <param name="DataID">Data ID record</param>
public static void DeleteDataLabels(int DataId)
{
using (var dc = new ArtworkingDataContext())
{
// Delete associated datalabels
var q = dc.tblArtworkDataLabels.Where(c => c.dataID == DataId);
if (q.Count() != 0)
{
dc.tblArtworkDataLabels.DeleteAllOnSubmit(q);
dc.SubmitChanges();
}
}
}
你能改变和更新其中的一个吗?听起来像是绑定属性中的错误。这与您的问题类似:您的dataId列是文本/ntext列吗?谢谢,这很有效!奇怪的这很烦人,因为我知道必须将所有关联重新添加到图表中
[Column(..., UpdateCheck = UpdateCheck.Never)]