LinqToSQL错误:由于对象的当前状态,操作无效

时间:2010-01-13 16:36:18

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

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

  

由于对象的当前状态

,操作无效

我尝试从更新命令中删除一列,但它运行正常。 此列是一个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();

3 个答案:

答案 0 :(得分:5)

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

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

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

我也遇到了这个问题。我找到了一篇不错的文章,告诉您如何在文件夹C:\ Program Files \ Microsoft SQL Server \ MSSQL.2 \ Reporting Services \ ReportManager中向web.config文件添加密钥。

我必须删除<>才能显示它。

添加密钥=“ aspnet:MaxHttpCollectionKeys”值=“ 10000”

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