Linq 到对象

2024-03-03

我有两个来自不同服务器的数据库。我无法链接数据库。从数据库中检索数据如下:

DB1

- Client_ID Engagement_ID 启用说明

  • 600 10 真实公司1
  • 600 20 虚假公司2
  • 700 10 真实公司3

DB2

  • Client_ID Engagement_ID 已启用 描述

  • 600 5 真实公司1

  • 600 10 虚假公司2

  • 500 30 真实公司3

此任务的 T SQL 是:

select * from DB1
left join DB2 on DB1.client_ID = DB2.client_ID
and DB1.Engagement_ID = DB2.Engagement_ID
where DB2.CLient_ID is null
and DB2.Engagement_ID is null and DB1.client_id in (select client_id from DB2)

我需要做这个 VB.NET LINQ


您提供的示例数据无论如何都不会返回任何值,因为它们的 ClientId 和 EngagementId 都有值。

我将 LINQ 分成两个列表。我还没有对此进行测试或优化,但也许这就是您正在寻找的至少可以帮助您入门的东西。

这是我的尝试:

Public Class DBObject

    Public Sub New(ByVal cId As Integer, _
                   ByVal eId As Integer, _
                   ByVal enabled As Boolean, _
                   ByRef desc As String)

        _clientId = cId
        _engagementId = eId
        _enabled = enabled
        _description = desc

    End Sub

    Private _clientId As Integer
    Public Property ClientId() As Integer
        Get
            Return _clientId
        End Get
        Set(ByVal value As Integer)
            _clientId = value
        End Set
    End Property

    Private _engagementId As Integer
    Public Property EngagementId() As Integer
        Get
            Return _engagementId
        End Get
        Set(ByVal value As Integer)
            _engagementId = value
        End Set
    End Property

    Private _enabled As Boolean
    Public Property Enabled() As Boolean
        Get
            Return _enabled
        End Get
        Set(ByVal value As Boolean)
            _enabled = value
        End Set
    End Property

    Private _description As String
    Public Property Description() As String
        Get
            Return _description
        End Get
        Set(ByVal value As String)
            _description = value
        End Set
    End Property

End Class

Dim DB1 As New List(Of DBObject)
Dim DB2 As New List(Of DBObject)

DB1.Add(New DBObject(600, 10, True, "Company1"))
DB1.Add(New DBObject(600, 20, False, "Company2"))
DB1.Add(New DBObject(700, 10, True, "Company3"))

DB2.Add(New DBObject(600, 5, True, "Company1"))
DB2.Add(New DBObject(600, 10, False, "Company2"))
DB2.Add(New DBObject(500, 30, True, "Company3"))

Dim list1 As List(Of DBObject) = (From obj1 As DBObject In DB1 _
                                         Join obj2 As DBObject In DB2 _
                                         On obj1.ClientId Equals obj2.ClientId _
                                         And obj1.EngagementId Equals obj2.EngagementId _
                                         Where obj2.ClientId = Nothing _
                                         And obj2.EngagementId = Nothing _
                                         Select obj1).ToList

Dim list2 As List(Of DBObject) = (From obj3 As DBObject In list1 _
                                          From obj4 As DBObject In DB2 _
                                          Where obj3.ClientId = obj4.ClientId _
                                          Select obj3).ToList

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

Linq 到对象 的相关文章

  • FireFox 中的默认表单按钮

    我正在构建一个服务器控件 它将搜索我们的数据库并返回结果 服务器控件包含一个 ASP Panel 我已将面板上的默认按钮设置为等于我的按钮 id 并将表单默认按钮设置为等于我的按钮 id 在面板上 MyPanel DefaultButton
  • 如何覆盖/更新当前由 IIS 提供服务的文件?

    问题 我的公司每月发布一份时事通讯 我将其托管在我们的内部网站上 我有一个供时事通讯作者上传最新版本的页面 作者上传最新的新闻通讯后 他会发送一封广播电子邮件来宣布新的新闻通讯 员工总是会检查新的时事通讯并向作者发送反馈以及需要进行的更正
  • Razor 视图中的内联 If

    在我的控制器中 我有内联 If 语句 ViewBag NameSortParam If String IsNullOrEmpty sortOrder Name desc 在我看来 如果出现以下情况 我似乎无法使用内联 Code If Tru
  • 将二维数组绑定到数据网格中

    所以我的情况是我想从数据库中的两个字段填充一个二维数组 我在为数组分配数据库字段值时遇到问题 第二个是在数据网格中显示数组 我已经编码了 dgv2 Datasource myArray 但它仍然返回错误消息 这是我的代码 Dim msql
  • 通过访问硬盘序列号来保护软件[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想获得VB NET或VB代码来在启
  • 为什么我的 .Net 对象不可序列化?

    我有一个继承自 System Data DataTable 的 MyDataTable 类 我已经在我的类中实现了 ISerialized 并且有一个 公共覆盖子 GetObjectData 但是 当我尝试序列化 MyDataTable 的
  • 多线程应用程序的调用方法?

    我的应用程序中有一个错误 与here http forums ni com t5 Measurement Studio for NET Waveform Graph quot X quot Error m p 217817 highligh
  • VB.NET 中共享变量有什么用?

    有什么用SharedVB NET 中的变量 它是一样的static在 C 和大多数其他语言中 这意味着类中的每个对象都使用变量 属性或方法的相同副本 当与静态方法一起使用时 您不需要对象实例 MyClass DoSomething 而不是
  • 更改数据网格列顺序或索引

    这是我无法相信我无法弄清楚的事情 请告诉我我错过了一些简单的事情 我有一个数据网格 我用 LINQ 填充它以及一个自定义类来向其中添加数据 之后 我需要按特定顺序排列数据 它似乎忽略了我 如何更改列属性 例如索引等 这是我正在使用的 LIN
  • asp.net vb 用户控件在调用页面上引发事件

    我正在尝试了解用户控件 我创建了一个具有文本框和按钮的用户控件 我想要做的是 当我单击用户控件中的按钮时 在 aspx 页面中填充标签 我知道我可以在页面上有一个按钮 使用用户控件上的一些属性来获取该信息 但我想知道如何使用用户控件的按钮来
  • 为什么 VB.NET 和 C# 中针对值检查 null 存在差异?

    In VB NET http en wikipedia org wiki Visual Basic NET有时候是这样的 Dim x As System Nullable Of Decimal Nothing Dim y As System
  • 将图像文件从网址复制到本地文件夹?

    我有该图像的网址 例如 http testsite com web abc jpg http testsite com web abc jpg 我想将该 URL 复制到 c images 中的本地文件夹中 而且当我将该文件复制到文件夹中时
  • HTML Agility 包删除了中断标记 close

    我正在使用 HTML 敏捷包创建 HTML 文档 我加载一个模板文件 然后将内容附加到其中 所有这些都有效 但是当我查看输出文件时 它已从我的文件中删除了结束标记 br 标签看起来像这样 br 是什么原因造成的 Dim doc As New
  • 表单上的 KeyEvents 只能与 CTRL 结合使用

    Code Private Sub KeyHandling ByVal sender As Object ByVal e As System Windows Forms KeyEventArgs Handles Me KeyDown Sele
  • 特殊名称属性还允许哪些其他巧妙的技巧?

    研究中一个问题 https stackoverflow com questions 13259162 vb net power operator overloading from c sharp关于实现 Visual Basic Power
  • DataTable:通过 LINQ 或 LAMBDA 进行动态 Group By 表达式

    我有一个数据表 我想在其中对未指定数量的字段进行分组 发生这种情况的原因是用户可以选择他想要分组的字段 所以 实际上 我将选择推入列表中 在这个选择上 我必须对我的数据表进行分组 想象一下这段代码 VB 或 C 都一样 public voi
  • 将字符串转换为双精度 - VB

    VB中有没有一种有效的方法来检查字符串是否可以转换为双精度型 我目前正在尝试将字符串转换为双精度型 然后查看它是否引发异常 但这似乎减慢了我的申请速度 Try if number then format it current CDbl x
  • 根据所选单选按钮启用文本框

    我有一个单选按钮列表 其中列出了不同的业务类别 最后一个选项是Other类别 当用户选择Other类别 我希望能够启用一个文本框 用户可以输入更多信息来解释Other选择 目前 我正在尝试 If rblCategory SelectedIn
  • 如何在 VB.NET 中声明和初始化多维数组?

    我想做这个 Dim Numbers As Integer 1 2 3 4 5 6 7 IDE 的下划线4 5 6 7并说Array initializer has 3 too many elements 我究竟做错了什么 以下应该有效 Di
  • Visual Studio 改变 Ctrl-K-D 的工作方式

    In Visual Studio I m using 2012 is there any way of editing the way that Ctrl K D combinations handles its Auto Formatti

随机推荐

  • Spring security:添加“成功登录事件侦听器”

    我是 Spring Security 的新手 如何添加在用户成功登录时调用的事件侦听器 另外 我需要在此侦听器中获取某种唯一的会话 ID 该 ID 应该可以进一步使用 我需要这个 ID 来与另一台服务器同步 您需要定义一个 Spring B
  • Android Studio 新项目文件大小太大

    我刚刚在 Android Studio 2 2 3 中创建了一个新的 android 项目 只有一个空的 Activity 但它仍然在设备上使用了 4 11 MB 我认为这个空间很大 因为它确实包含一个空的 Activity 为什么它占用这
  • 如何禁用 Firefox 开发者版中新的 JSON 查看器/阅读器?

    火狐开发者版 44现在有一个内置的 JSON 查看器 https developer mozilla org en US docs Tools JSON viewer 这是一个很好的举动 但我非常喜欢我使用的第三方 JSON 查看器的可读性
  • 如何使用 PostSharp 属性注入属性?

    如何编写 PostSharp 方面以将属性应用于类 我正在考虑的场景是一个 WCF 实体 或域对象 需要用DataContract属性 它还应该有一个Namespace财产 像这样 using System Runtime Serializ
  • 使用 PHPUnit 测试 PHP 标头

    我正在尝试使用 PHPunit 来测试输出一些自定义标头的类 问题是在我的机器上
  • Android Studio:根据构建类型切换 URL? (用于调试/发布中的测试)

    我一直在阅读一些有关变体和构建类型的内容 我不知道我是否理解正确 但我想存储一个用于 locahost 测试 的 URL 和一个用于生产的 URL 互联网上的实时站点 我需要根据哪种构建类型来切换它们 这是正确的方法吗 或者还有其他选择吗
  • Swift switch 语句中使用 `let` 时出现编译错误

    在 Swift 中 您可以使用范围运算符获取数组的切片 如下所示 let list String first middle last let cdr list 1 list endIndex assert cdr middle last 我
  • 如何从 JSON 对象流中获取第一个元素?

    Example name bar thing true new key 0 name baz thing false new key 0 如果我跑 name我得到的输出为 bar baz 我想要的只是bar 您可以使用first 1 htt
  • 带有文档的 Maven 发布

    我正在尝试将文档包含到 Maven 发布中 该出版物本身运作良好 我还可以使用以下设置将源和 javadoc 发布到 gitlab 包 我可以下载并打开包含这些类的注释 文档的javadoc jar 和sources jar 然而 当我将该
  • 如何使用 FXML 在 JavaFX 中动态创建选项卡?

    如何使用 JavaFX FXML 创建新选项卡 我已经在 FXML 中创建了一个选项卡 但我想单击一个按钮来显示一个新选项卡 这是我的 FXML
  • MySQL如何更改innodb日志文件大小

    根据mysql文档 Docs http dev mysql com doc refman 5 5 en innodb data log reconfiguration html 为了在步骤 4中更改innodb log file size
  • 一个普通的类可以实现多个接口吗?

    我知道接口之间的多重继承是可能的 例如 public interface C extends A B Where A B and C are Interfaces 但是是否可以让一个常规类继承多个接口 如下所示 public class A
  • 有什么方法可以区分未设置的属性和设置为未定义的属性吗? [复制]

    这个问题在这里已经有答案了 说我有对象testObject a undefined 如果我那么console log testObject a 我变得不确定 但如果我也会发生同样的情况console log testObject b 它不存
  • Excel - 多列求和

    如果同一行中的其他单元格符合预定义的条件 我需要对几列的值求和 仅 3 列的工作公式如下 SUM SUMIFS Sheet1 W W Sheet1 B B Sales Sheet1 C C gt 4 SUMIFS Sheet1 X X Sh
  • Plupload - 仅限一个文件

    我在 plupload API 文档中没有看到有关将上传文件数量限制为任意数量 甚至是 1 的选项 博士失败了 或功能失败 如果它不存在 如果有人需要它 我会努力实现这一点 这是一个功能失败 我围绕 jQuery API 做了一个包装器 这
  • GNU Awk 4.2 中 FS = " " 的行为是什么?

    The first week of October Arnold Robbins announced Beta release of gawk 4 2 0 now available in the GNU announce bug gawk
  • Rails,如何在绝对最低级别访问原始请求数据?

    铁轨什么时候出request请求生命周期中最早可用的对象 本质上 请求何时首次作为请求对象可用 以及在哪个对象中 ActionDispatch 您可以从以下位置访问请求参数吗Tester Application 如果是这样 怎么办 如果没有
  • 在 docker 容器中导入 keycloak 的领域配置时出错

    我通过以下命令在 docker 上部署了 keycloak docker run e KEYCLOAK ADMIN admin e KEYCLOAK ADMIN PASSWORD admin p 8080 8080 quay io keyc
  • ReferenceError:Rx 未定义

    我刚刚开始学习 Angular2 我正在尝试使用 Angular2 做 RxJ 示例 如果有人帮助我 我将不胜感激 RxJs 代码 var obs Rx Observable interval 500 take 5 do i gt cons
  • Linq 到对象

    我有两个来自不同服务器的数据库 我无法链接数据库 从数据库中检索数据如下 DB1 Client ID Engagement ID 启用说明 600 10 真实公司1 600 20 虚假公司2 700 10 真实公司3 DB2 Client