gpt4 book ai didi

c# - 保存 LINQ-To-SQL 实体时出现 "Specified cast is not valid"错误

转载 作者:太空狗 更新时间:2023-10-29 22:55:16 24 4
gpt4 key购买 nike

应用详情:C#、ASP.NET MVC、SQL Server 2008(同版本&SP级别)、Linq-To-SQL ORM

我正在尝试诊断我收到的异常:

"Specified cast is not valid." at System.Data.Linq.IdentityManager.StandardIdentityManager.SingleKeyManage`2.TryCreateKeyFromValues(Object[] values, V& v)
at System.Data.Linq.IdentityManager.StandardIdentityManager.IdentityCache`2.Find(Object[] keyValues)
at System.Data.Linq.IdentityManager.StandardIdentityManager.Find(MetaType type, Object[] keyValues)
at System.Data.Linq.CommonDataServices.GetCachedObject(MetaType type, Object[] keyValues)
at System.Data.Linq.ChangeProcessor.GetOtherItem(MetaAssociation assoc, Object instance)
at System.Data.Linq.ChangeProcessor.BuildEdgeMaps()
at System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode)
at System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)
at System.Data.Linq.DataContext.SubmitChanges()
at Repository.Save() at etc....

问题是这只发生在我们的服务器上,而不是在我们本地的开发箱上。我已经追踪到我们正在修改的一个属性:

event.SalesForceId = "701Q0000000AOTIIA4";

如果我注释掉该行,一切正常。

我试过:

1 ) 修改服务器上的所有代码并重新部署。同样的问题。
2)拉下服务器数据库的副本并在本地尝试。工作正常。
3 ) 尝试我们在同一个盒子上设置的另一个 IIS 环境。同样的问题。
4) 对本地和远程模式进行物理比较(使用 AdeptSQL)。没有区别。
5 ) 验证两列(本地和远程)的数据类型是否相同。此外,此列是另一个表的 FK。我验证了两者具有相同的数据类型,直至排序规则。

服务器是 Windows Server 2008,本地机器是 Windows 7 x64。两者都有所有重要的更新设置。

我唯一能想到的可能是因为数据库和 Web 服务器位于不同的盒子上,这可能是个问题?否则,我完全被难住了。

有什么想法吗?

最佳答案

关于c# - 保存 LINQ-To-SQL 实体时出现 "Specified cast is not valid"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4801364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com