MonoTouch 和 LINQ - 由于对象的当前状态,操作无效

2024-04-20

我有一个应用程序,在 Mac 上使用 Monotouch/C# 作为前端,从后端 VS2010 中的 WCF 服务中提取数据。昨晚我离开前一切都像做梦一样顺利,而今天,我不确定发生了什么。我所看到的是,这是来自 Monotouch 的 linq 内部的一个异常,看起来我做的一切都很好,因为我在过去几天里没有碰过这段代码。

当我得到一个GetAllStaffResult从 WCF 返回对象,我回到主线程,然后调用此方法Populate():

public void Populate()
{
    foreach (var m in Staff)
    {
        m.FranchiseName = this.Franchises.Single(f => f.ID == m.FranchiseID).Name;
    }
    [snip]
}

这是堆栈跟踪:

System.InvalidOperationException: Operation is not valid due to the current state of the object.
at System.Linq.Enumerable.First[FranchiseListingItem] (IEnumerable'1 source, System.Func2 predicate, Fallback fallback) [0x0004a] in /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:816
at System.Linq.Enumerbale.First [FranchiseListingItem] (IEnumerable'1 source, System.Func2 predicate) [0x00007] in /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:843
at ADMobileServices.BOTransferDTOs.GetAllStaffResult.Populate() [0x0003b] (my code)

不知道是什么原因造成的...有人有什么想法吗?去看看是否可以找到 MT 源文件,以便我可以看到这些行。

Oh, this is a GetAllStaffResult,上面的方法是一个分部类,其中包含一系列员工、特许经营权、地点。 populate 方法获取每位员工并根据员工的特许经营 ID 填充特许经营的名称。我这样做是因为我要返回大约 500 名具有长特许经营名称的员工,并且我可以通过自己在客户端重建对象图来节省带宽。

因为数据库中存在外键关系,所以我 100% 确定 Single 总是会返回结果。 First() 也给了我同样的问题。

编辑:堆栈跟踪是针对我在 Single() 方法之后尝试的 First() 方法。我现在正在检查源代码,将报告我的发现。


如果序列为空,就会发生这种情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MonoTouch 和 LINQ - 由于对象的当前状态,操作无效 的相关文章

随机推荐

  • 如何在 Recompose 中使用 withHandlers 将引用添加到功能组件并在 ScrollView 上调用 ScrollTo?

    我的具体目标是使用滚动到方法 http facebook github io react native docs scrollview html methodsScrollView 的但保持功能组件结构 更一般地说 这需要获取对当前组件的引
  • psql:符号查找错误:psql:未定义符号:PQsetErrorContextVisibility

    我将 postgres 版本从 9 2 24 切换到 9 6 因为我需要 jsonb 兼容性以及其他最新功能 我在 centos 7 上运行虚拟机 我决定擦除所有现有的 postgres 实例 因为它是临时的 所以几乎是空的 然后安装了 9
  • 签名者无效错误

    我为应用程序商店发行版构建 但是当尝试在设备上 而不是开发中 测试它时 它给出以下警告 应用程序 myapp 未安装在 iPhone 用户的 iPhone 上 因为签名者无效 任何解决这个问题的建议 此致 当您想要测试应用程序的生产版本 而
  • Unity 协程在后台停止

    我的问题如下 目前我在 Android iOS 游戏中运行了几个协程 但是当我将游戏发送到后台以便用手机尝试其他操作时 这些协程会停止 只有在我返回游戏后才恢复 有什么办法可以让协程在游戏在后台时继续运行吗 Android 将按设计暂停您的
  • 官方 Tensorflow 文档有 pdf 格式吗? (运行Windows)

    我无法找到 Tensorflow 的 pdf 格式文档 API 或教程 我指的是官方文档 而不是要求书籍推荐 具体为pdf格式 供离线本地参考和学习 一个问题是我运行的是 Windows 因此用于创建的可用工具集 它们动态地受到限制 或与通
  • 使用 gradlew 和 gradle 的区别

    使用有什么区别gradlew and gradle或者它们是相同的吗 不同之处在于 gradlew表明您正在使用 gradle 包装器 包装器通常是项目的一部分 它有助于 gradle 的安装 如果您在没有包装器的情况下使用 gradle
  • Request.UserHostAddress返回负载均衡器的IP地址

    我的网站中有一行关键代码可以在我们的开发环境中运行 但不能在生产环境中运行 好吧 我说它在开发中起作用 但事实是它给了 1 这是 IPv6 环回地址 无论如何 我想要做的是捕获访问该站点的用户的 IP 地址 因此 我使用Request Us
  • 以编程方式登录网站的技术

    我正在尝试自动登录 Photobucket 以供 API 使用 用于需要使用存储的凭据自动下载照片的项目 API 生成一个用于登录的 URL 并且使用 Firebug 我可以查看正在发送 接收的请求和响应 我的问题是 如何使用 HttpWe
  • 蓝牙连接:MODE_IN_CALL 与 MODE_IN_COMMUNICATION

    我有一个应用程序需要连接到无线蓝牙耳机来收集原始音频 MODE IN CALL 适用于某些设备 MODE IN COMMUNICATION 适用于其他设备 麦克风可以工作 但我失去了音频 反之亦然 我使用的是 Nexus 5x 和 Sams
  • Ajax.BeginForm 的 ASP .NET MVC 问题用 JSON 数据替换所有视图内容

    我在 VS 2015 中创建了一个示例 ASP NET MVC 网站 在视图中我使用扩展 Ajax BeginForm 将登录凭据发布到控制器 并且在 OnSuccess 回调上我想检查服务器错误 如果有则显示错误用户其他 重定向到主页 这
  • 当我向 /common/oauth2/v2.0/token 发出 Ajax 请求时出现 CORS 错误

    当我向以下对象发出 Ajax 请求时出现 CORS 错误https login microsoftonline com common oauth2 v2 0 token从我的申请中 下面是我正在使用的代码示例 var inputData g
  • 本地化 Android DatePickerDialog

    是否可以配置 android app DatePickerDialog 以便轻松本地化为欧洲格式 交换日期和月份并将英文按钮名称与本地化按钮名称交换 DatePickerDialog 默认情况下已本地化 我在真实设备上尝试过 对话框的本地化
  • 无法连接到 Subversion 本地存储库

    我已在 Windows 7 64 位上安装了 Subversion 1 8 8 和 TortoiseSVN 1 8 5 64 位 我使用 TortoiseSVN 在 C Projects SVNRepository 创建了一个本地存储库 在
  • 我可以从哪里开始使用可编程硬件?

    一段时间以来 我一直渴望至少学习一点有关硬件编程的知识 并想在这里提出要求以获得一些起点 我是一位相当有成就的程序员 具有 Delphi 和 Objective c 经验 但从未听过设备端口 中断 我什至不知道术语 更不用说对硬件进行编程了
  • 动态添加注释到现有类

    我有以下课程 public class Person 我想创建另一个类似这样的类 SomeAnnotation public class Person 通过像这样的简单方法 public static Class addAnnotation
  • IsPrimitive 不包含可为 null 的原始值

    我想检查类型是否是原始类型并使用以下代码 return type IsValueType type IsPrimitive 只要原始 int 可为空 这就可以正常工作 例如 int 如何检查该类型是否为可为空的原始类型 供参考 type I
  • 删除代码隐藏中的 asp.net 事件

    我想删除代码后面的事件 比如我的控件是这样的
  • 如何从三个 ReceiveStream 中一次读取一行?

    异步有StreamReader readline https docs python org 3 library asyncio stream html asyncio StreamReader readline 允许类似 while Tr
  • 使用 WinHTTP API 进行证书固定

    是否可以使用 Win32 WinHTTP API 实现证书固定 如果可以 如何实现 IE 如何根据 已知良好 的证书检查返回的服务器证书 最好不必将证书永久写入本地证书存储 受到jww的回答的启发 首先我发现这一页 https www ow
  • MonoTouch 和 LINQ - 由于对象的当前状态,操作无效

    我有一个应用程序 在 Mac 上使用 Monotouch C 作为前端 从后端 VS2010 中的 WCF 服务中提取数据 昨晚我离开前一切都像做梦一样顺利 而今天 我不确定发生了什么 我所看到的是 这是来自 Monotouch 的 lin