如何获取SecondOrDefault?

2023-11-21

我有一个简单的 linq lambda 语句

Interactions = new BindableCollection<InteractionDTO>(ctx.Interactions.Where(x => x.ActivityDate > DateTime.Today)
   .Select(x => new InteractionDTO
   {
       Id = x.Id,
       ActivityDate = x.ActivityDate,
       subject = x.Subject,
       ClientNames = x.Attendees.Count == 1 ? x.Attendees.FirstOrDefault().Person.CorrespondenceName :
       x.Attendees.FirstOrDefault().Person.CorrespondenceName : "Multiple attendees"
    }));

这将为我提供第一个客户名称,我试图让它显示为前 2 位与会者,后跟点。我试过这个

ClientNames = x.Attendees.Count == 1 ? 
             x.Attendees.FirstOrDefault().Person.CorrespondenceName :
             x.Attendees.FirstOrDefault().Person.CorrespondenceName +
             x.Attendees.Skip(1).FirstOrDefault().Person.CorrespondenceName + " ..."

但我收到这个错误:

仅 LINQ to Entities 中的排序输入支持“Skip”方法。必须在方法“Skip”之前调用方法“OrderBy”。


您可以按照消息提示先尝试订购。

我不确定你的是什么Attendees类看起来像,但假设它有一个 ID 字段:

x.Attendees.OrderBy(a => a.ID)
           .Skip(1)
           .Select(a => a.Person.CorrespondenceName).FirstOrDefault() + " ..."

其他一些注意事项:

我交换了你的Select and FirstOrDefault声明。按照你目前的方式,如果FirstOrDefault()返回 null,然后Person.CorrespondenceName会抛出异常。

但现在如果没有找到记录,你最终会得到"..."。您可能需要调整您的第一个Where子句过滤掉没有对应名称的记录,然后更改FirstOrDefault() to First().


EDIT:

这应该引导你走向正确的方向(I hope)。假设它实际上可以转换为有效的 SQL 语句,这可能更符合您的需求:

ClientNames = x.Attendees.Any()
                  ? x.Attendees.Count == 1
                      ? x.Attendees.Select(a => a.Person.CorrespondenceName).FirstOrDefault()
                      : x.Attendees.Count == 2
                          ? string.Join(", ", x.Attendees.OrderBy(a => a.ID).Take(2)
                                                         .Select(a => a.Person.CorrespondenceName).FirstOrDefault()
                          : string.Join(", ", x.Attendees.OrderBy(a => a.ID).Take(2)
                                                         .Select(a => a.Person.CorrespondenceName).FirstOrDefault() + " ..."
                  : "No client name available";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取SecondOrDefault? 的相关文章

  • 在路由mvc 4中添加公司名称

    我一直在尝试为 Facebook 等用户提供在 URL 中添加公司名称的选项 http localhost 50753 MyCompany Login 我尝试过不同的网址 但没有成功 routes MapRoute name Default
  • 有没有办法在 xcode 上使用 c++0x ?我想使用 gcc 4.4 或更高版本

    我想使用 gcc 4 4 或更高版本进行 iphone 开发 有人知道怎么做吗 不 你不知道 相信我 你不会 Apple 仍保留 gcc 4 2 1 因为 4 2 2 及更高版本使用 GPLv3 这意味着他们必须放弃对其平台的控制 对于 i
  • 从代码中,如何创建对存储在附加属性中的对象的属性的绑定?

    我们有一个继承的附加属性来存储一个对象 在可视化树的更下方 我们希望从代码绑定到该对象的属性 通常我们像这样构建绑定的路径部分 var someBinding new Binding Path new PropertyPath Attach
  • 在 C# 中调用 C++ 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有很多用 C 编写的库 我想从 C 调用这些库 但是 我遇到了很多问题 我想知道是否有书籍或指南告诉我如何做到这一点 Dll导入 htt
  • 如何使用 SOAP 且不使用 WSE 在 .NET 中签署 Amazon Web 服务请求

    亚马逊产品广告 API 以前称为 Amazon Associates Web Service 或 Amazon AWS 实施了一项新规则 即自 2009 年 8 月 15 日起 向其发送的所有 Web 服务请求都必须经过签名 他们在其网站上
  • 是否存在指向不同类型的指针具有不同大小的平台?

    C 标准允许指向不同类型的指针具有不同的大小 例如sizeof char sizeof int 是允许的 但是 它确实要求如果将指针转换为void 然后转换回其原始类型 它必须与其原始值进行比较 因此 从逻辑上来说 sizeof void
  • 检测到堆栈崩溃

    我正在执行我的 a out 文件 执行后 程序运行一段时间 然后退出并显示消息 stack smashing detected a out terminated Backtrace lib tls i686 cmov libc so 6 f
  • 在开关中使用“goto”?

    我看到了一个建议的编码标准 内容如下Never use goto unless in a switch statement fall through 我不跟 这个 例外 案例到底是什么样的 这证明了goto 此构造在 C 中是非法的 swi
  • Gwan C#,如何获取HTTP标头?

    我需要它来重写 url 以了解我正在处理哪个友好的 url 用于用户代理和其他东西 EDIT public class Gwan MethodImplAttribute MethodImplOptions InternalCall exte
  • 一元 +/- 运算符如何可能导致“-a”或“+a”中的整数提升,“a”是算术数据类型常量/变量?

    这句看似微不足道的台词摘自我的迈克 巴纳汉和布雷迪的 C 书 第 2 8 8 2 节 http publications gbdirect co uk c book chapter2 expressions and arithmetic h
  • 在 omp 并行 for 循环中使用 unique_ptr 会导致 SEG.FAULT

    采取以下代码 include
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • MFC:如何设置CEdit框的焦点?

    我正在开发我的第一个简单的 MFC 项目 但我正在努力解决一个问题 想要设置所有的焦点CEdit其中一个对话框中的框 我的想法是 当打开对话框时 焦点位于第一个编辑框上 然后使用 选项卡 在它们之间交换 我看到了方法SetFocus 但我无
  • 根据对象变量搜索对象列表

    我有一个对象列表 这些对象具有三个变量 ID 名称和值 这个列表中可能有很多对象 我需要根据ID或Name找到一个对象 并更改值 例子 class objec public string Name public int UID public
  • 从BackgroundWorker线程更新图像UI属性

    在我正在编写的 WPF 应用程序中 我有一个 TransformedBitmap 属性 该属性绑定到 UI 上的 Image 对象 每当我更改此属性时 图像就会更新 因此显示在屏幕上的图像也会更新 为了防止在检索下一张图像时 UI 冻结或变
  • Linux mremap 不释放旧映射?

    我需要一种方法将页面从一个虚拟地址范围复制到另一个虚拟地址范围 而无需实际复制数据 范围很大 延迟很重要 mremap 可以做到这一点 但问题是它也会删除旧的映射 由于我需要在多线程环境中执行此操作 因此我需要旧映射能够同时使用 因此稍后当
  • .NET 4 的条件编译[重复]

    这个问题在这里已经有答案了 可能的重复 条件编译和框架目标 https stackoverflow com questions 2923210 c sharp conditional compilation and framework ta
  • CUDA 8 编译错误 -std=gnu++11

    我正在尝试转换一些代码以使用 CUDA 并且我认为我遇到了兼容性问题 我们使用CMake 这些是我使用的 gcc 和 CUDA 版本 gcc version gcc Ubuntu 5 4 0 6ubuntu1 16 04 5 5 4 0 2
  • LINQ 中的“from..where”或“FirstOrDefault”

    传统上 当我尝试从数据库中获取用户的数据时 我使用了以下方法 在某种程度上 DbUsers curUser context DbUsers FirstOrDefault x gt x u LoginName id string name c
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您

随机推荐

  • Keycloak:无法在 Spring Boot 应用程序中加载 URL

    我目前正在尝试开发一个使用 keycloak 保护的 Spring Boot Rest Api 当我尝试调用必须识别用户的 api 时 出现错误 错误信息如下 2020 04 10 16 09 00 324 WARN 44525 nio 8
  • XmlSerializer 可以反序列化为 Nullable 吗?

    这是重复的XmlSerializer 可以反序列化为 Nullable 吗 但我需要一个既不更改 xml 文档也不强迫我实现 IXmlSerialized 接口的解决方案 我不想实现 IXmlSerialized 因为旁边还有许多其他元素
  • jquery insertafter和insertbefore添加滑动动画

    如何为上下排序运动添加动画移动效果 您可以通过单击 向上 和 向下 文本链接来检查运动情况 这是我的代码 document ready function move up click function if this prev this pa
  • 当输入字段为空时显示 ng-repeat 列表时,AngularJS 过滤器比较器为 true

    我将通过这个示例小提琴来演示如何使用比较器参数来过滤精确匹配 http jsfiddle net api post library pure 优先级是 1 100 之间的数字 但我将其作为文本输入并作为字符串过滤 因此 任何包含子字符串的数
  • std::map::begin() 之前的 STL 迭代器

    在 C 11 中std map 是否有一些有效的迭代器x这样 x保证等于map begin 我想检测我刚刚调用的函数 我的 是否已将迭代器从函数的前面移走 该函数会将迭代器向后移动一位 这个答案适用于图书馆的其他部分吗 不 迭代器位于开头之
  • 仅在本地编辑跨域 Iframe 内容

    正如我们许多人所知 由于以下原因 无法编辑跨域 IFrame 同源政策 如果我们仅在本地使用时尚扩展等 有没有办法解决这个问题 以在 iframe 内启动的视频为例 我需要简单地添加 zoom 2 到 video21588864 ifram
  • 防止 matplotlib 有状态

    如果我创建一个Axes对象在matplotlib并改变它 即通过绘制一些数据 然后我调用一个函数没有通过我的Axes反对该函数那么这个函数仍然可以改变我的Axes 例如 import matplotlib pyplot as plt imp
  • newKieSession 是线程安全的吗?

    我们在项目中使用了 Drools kieSessions 许多线程可以创建新的 kieSession 有时线程在创建会话时可能会挂起 因此问题是 Firstly kieContainer newKieSession 是线程安全的操作吗 被绞
  • 核心数据子上下文不预取关系

    我激活了 Core Data 调试器 com apple CoreData SQLDebug 1在我的应用程序方案中 对于名为 Category 的实体和名为 Image 的关系实体 得到以下结果 主上下文上的 FetchRequest N
  • Protractor 和 Karma 可以一起使用吗?

    If 量角器正在取代 Angular Scenario Runner 进行 E2E 测试 这是否意味着我仍然可以使用它Karma作为我的E2E测试框架 当前 Protractor 维护者不推荐 https github com angula
  • findViewById 不适用于包含?

    我有一个像这样的包含
  • Android:带按钮的 ListView -> OnItemClick 不执行任何操作

    我的问题来自ListView 如果没有按钮 setOnItemClickListenerListView 的效果很好 开始活动 当我将按钮添加到 ListView 的项目中时 按钮是可单击的 但项目并不更可单击 我尝试使用myListVie
  • 减号运算符在 mysql 中给我错误

    我有两个疑问 第一个查询返回 11 行 第二个查询返回 6 行 当我对它们使用减号运算符时 据我所知 它应该返回 5 行 SELECT location from uploads where username Gates MINUS SEL
  • 颤振 - 列中的均匀空间未按预期工作

    问题截图我试图通过使元素之间的间距均匀来将元素放入红色框中 就像给每个人赋予权重 1 一样 为此 我将 mainAxisAlignment MainAxisAlignment spaceEvenly 放在父列中 但它不起作用 Contain
  • MySQL 中使用 InnoDB 进行全文搜索

    我有一个 MySQL 数据库 版本 5 5 28 其中有一个如下表 products InnoDB search id title description 1 Levi Blue Jeans Some cool jeans 2 Gucci
  • Chrome 扩展清单 v3 MV3 身份验证 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我需要使用用于处理 Chrome 扩展上的 Google 登录的清单版本 3 MV3 鉴于文档中仅提到它 我该如何解决这个问题无法完成 目前 对于清单 v3 我们无法使用 goo
  • Linux内核UDP接收时间戳

    我一直在读网络时间戳linux 内核的文档 有一些东西我不清楚 提供的时间戳在哪里SO TIMESTAMPNS生成 在硬件中还是在内核中 如果是这样 一旦产生新数据包的中断 它就会被触发吗 SO TIMESTAMPING还应该允许生成硬件时
  • @angular/[email protected] 安装后脚本失败

    您好 我无法安装 Angular clinpm install g angular email protected 我不断收到这个 gt node bin postinstall script js module js 549 throw
  • 强制关闭带有服务的应用程序:服务中未调用 onDestroy()?

    我已经实现了粘性服务 当我强制关闭应用程序时 我看到 Activity 的 onDestroy 被调用 但该服务显然没有做任何事情 这是日志猫 07 01 22 35 30 397 DEBUG ActivityMine 6505 onDes
  • 如何获取SecondOrDefault?

    我有一个简单的 linq lambda 语句 Interactions new BindableCollection