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 - 由于对象的当前状态,操作无效 的相关文章

  • SetWindowsHookEx 函数返回 NULL

    我正在研究 DLL 注入 但收到错误如下 挂接进程失败 87 参数不正确 目标进程和dll都是64位的 注入代码为 BOOL HookInjection TCHAR target TCHAR dll name https msdn micr
  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 关闭 XDOCUMENT 的实例

    我收到这个错误 该进程无法访问文件 C test Person xml 因为它是 被另一个进程使用 IOException 未处理 保存文件内容后如何关闭 xml 文件的实例 using System using System Collec
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • 如何将字节块读入结构体

    我有一个需要处理的资源文件 它包含一组文件 首先 资源文件列出了其中包含的所有文件 以及一些其他数据 例如在此结构中 struct FileEntry byte Value1 char Filename 12 byte Value2 byt
  • 如何在 Windows 窗体中运行屏幕保护程序作为其背景?

    如何在 Windows 窗体中运行屏幕保护程序作为其背景 用户还可以在屏幕保护程序运行时与表单控件进行交互 为什么这个 我们有一个案例 需要在用户时运行 Windows Bubbles 屏幕保护程序 可以继续与表单控件交互吗 您可以使用以下
  • 在通过网络发送之前压缩位图

    我正在尝试通过网络发送位图屏幕截图 因此我需要在发送之前对其进行压缩 有一个库或方法可以做到这一点吗 当您将图像保存到流时 您have选择一种格式 几乎所有位图格式 bmp gif jpg png 都使用一种或多种压缩形式 因此 只需选择适
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin
  • 如何在引发异常时将变量传递给异常并在异常时检索它?

    现在我只有一个空白的异常类 我想知道如何在引发变量时给它一个变量 然后在 try except 中处理它时检索该变量 class ExampleException Exception pass 为其构造函数提供一个参数 将其存储为属性 然后
  • 从包含大量文件的目录中检索文件

    我的目录包含近 14 000 000 个 wav 格式的音频样本 所有普通存储 没有子目录 我想循环浏览文件 但是当我使用DirectoryInfo GetFiles 在该文件夹上 整个应用程序冻结了几分钟 可以用另一种方式完成吗 也许读取
  • realloc():重新分配为 char * 上的 strcat 腾出空间时下一个大小无效 [重复]

    这个问题在这里已经有答案了 我在以下代码中收到无效内存错误 printf s n FINE 5 printf s LENGTH IS d n FINE 6 strlen buffer char realloc buffer strlen b
  • asp.net c# 防止在从服务器端代码更改索引时触发 selectedindexchanged 事件

    我在同一个 aspx 页面上有两个下拉列表控件
  • 在 .NET 中记录 StackOverflowException

    最近 我的 NET 应用程序 asp net 网站 中出现了堆栈溢出异常 我之所以知道该异常是因为它出现在我的 EventLog 中 我知道 StackOverflow 异常无法被捕获或处理 但是有没有办法在它杀死您的应用程序之前记录它 我
  • 理解 C++11 中的 std::atomic::compare_exchange_weak()

    bool compare exchange weak T expected T val compare exchange weak 是 C 11 中提供的比较交换原语之一 它是weak即使对象的值等于 它也会返回 falseexpected
  • 如果抛出RuntimeException,是否可以将其作为异常捕获?

    如果我有一个try抛出一个块RuntimException子类 可以是后续的catch块将其捕获为Exception 具体来说 public class MyAppException extends RuntimeException In
  • 有没有更好的方法来获取每个项目与谓词匹配的子序列?

    假设我有一个 IEnumerable 例如 2 1 42 0 9 6 5 3 8 我需要获得与谓词匹配的项目的 运行 例如 如果我的谓词是 bool isSmallerThanSix int number 我想得到以下输出 2 1 0 5
  • 将 bignum 类型结构转换为人类可读字符串的有效方法是什么?

    我有一点问题 为了增长我的 C 知识 我决定尝试实现一个基本的 bigint 库 bigint 结构的核心将是一个 32 位整数数组 选择它们是因为它们适合寄存器 这将允许我在数字之间进行操作 这些操作将在 64 位整数中溢出 这也将适合寄
  • 你能解释一下这个C++删除问题吗?

    我有以下代码 std string F WideString ws GetMyWideString std string ret StringUtils ConvertWideStringToUTF8 ws ret return ret W
  • 使用剪贴板 SetText 换行

    如何使用 SetText 方法添加换行符 I tried Clipboard SetText eee n xxxx 但当我将剪贴板数据粘贴到记事本中时 它没有给我预期的结果 预期结果 eee xxxx 我怎样才能做到这一点 Windows

随机推荐

  • 如何在 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