【问题标题】:LINQ delete error (C#)LINQ 删除错误 (C#)
【发布时间】:2015-07-22 03:20:48
【问题描述】:
/// <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();
        }
    }
}

如果数据库中有要删除的记录,则抛出:

异常详情: System.Data.SqlClient.SqlException: text、ntext 和 image 数据类型 不能比较或排序,除了 使用 IS NULL 或 LIKE 运算符时。

开启

dc.SubmitChanges();

对这个有点困惑!

【问题讨论】:

标签: c# sql linq


【解决方案1】:

尝试在违规列的ColumnAttributes 中将UpdateCheck 设置为Never

[Column(..., UpdateCheck = UpdateCheck.Never)]

【讨论】:

    【解决方案2】:

    我现在这听起来可能很荒谬,但我最近遇到了完全相同的问题,我的研究建议我删除我的 dbml 中的表并再次将其拖入并猜猜是什么,它已修复!因此,请尝试删除您的 tblArtworkDataLabels 并重新创建它。

    我不知道是我的更改导致模型和我的数据库不同步,还是纯粹是VS问题。

    【讨论】:

    • 谢谢,这成功了!诡异的。这很烦人,因为我知道必须将所有关联重新添加到图表中
    【解决方案3】:

    也许您的 DBML 文件不再是最新的?

    除此之外,您还应该分析发送到数据库的 SQL,这样您就可以看到实际发生的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-13
      • 2012-07-11
      • 2011-09-08
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 2011-04-30
      • 2018-02-10
      相关资源
      最近更新 更多