【问题标题】:LinqToSQL Error : Operation is not valid due to the current state of the objectLinqToSQL 错误:由于对象的当前状态,操作无效
【发布时间】:2010-01-13 16:36:18
【问题描述】:

在更新命令期间,我收到以下错误:

由于对象的当前状态,操作无效

我试图从更新命令中删除一列,它工作正常。 此列是与其他正常工作的 FK 类似的 FK。

这是执行更新的代码:

                ti.NumeroTitolo = titolo.Numero;
                ti.RKTipoTitoloGenereTitolo = titolo.RkTipoTitoloGenereTitolo;
                ti.RKBanca = titolo.RkBanca;
                ti.DataScadenza = titolo.DataScadenza;
                ti.RKTipoEsito = titolo.RkTipoEsito; 
                ti.ImportoTitolo = titolo.ImportoTitolo;

                _dc.SubmitChanges();

【问题讨论】:

  • 如果您包含 L2S 更新声明将有很大帮助。

标签: c# .net linq-to-sql


【解决方案1】:

Grenade 的回答实际上帮助了我,因为我在尝试重新分配外键时遇到了这个异常。关系/约束阻止重新分配密钥。

但是,我能够直接访问关系项并重新分配它,从而重新分配外键。

product.manufacturer_id = manufacturerID; //This caused the above exception

product.Manufacturer = new Manufacturer(manufacturerID);
//or
product.Manufacturer = OtherManufacturer;

【讨论】:

    【解决方案2】:

    问题可能是由关系或其他约束引起的。例如,如果您尝试删除其 Id 被其他具有关系的表引用的行。也许如果您发布给出错误的 SQL 或 LINQ 查询,我们可以为您提供更多帮助。

    【讨论】:

      【解决方案3】:

      我在尝试创建订阅时遇到了同样的错误。找到这篇文章:

      我也遇到了这个问题。我找到了一篇很好的帖子,它讲述了如何在文件夹 C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting Services\ReportManager 中向 web.config 文件添加密钥。

      我必须删除 才能显示。

      添加 key="aspnet:MaxHttpCollectionKeys" value="10000"

      http://social.msdn.microsoft.com/Forums/ar-SA/sqlreportingservices/thread/c9d4431a-0d71-4782-8f38-4fb4d5b7a829

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-18
        • 1970-01-01
        • 2020-04-30
        相关资源
        最近更新 更多