选择 LINQ 中 JOIN 后的所有列

2024-03-05

我有两张桌子,Table1 and Table2。我想执行左外连接:

var myOutput = from object1 in Table1
               join object2 in Table2
               on object1.Property1 equals object2.Property2 into Table3
               from output in Table3.DefaultIfEmpty()
               select new
                   {
                       object1.Property1,
                       object1.Property2,
                       //...
                       output.Property3,
                       output.Property4,
                       //...
                   };

正如您所注意到的,我想从结果表中选择两个对象的所有属性(连接时考虑的枚举包含某些类型的对象 - 这对于两种关系来说是不同的)。当然,我可以在匿名选择中选择属性,如示例所示。

我的问题是如何避免手动指定所有属性?我想要有类似的东西SELECT * FROM TABLE3, where TABLE3是一个结果关系(加入后TABLE1 and TABLE2).

预先感谢您的线索。


如果您想投影为扁平类型,则必须手动指定每个类型。您的另一个选择是让您的组合类型包含两个对象,并且这些对象自然会带来它们的属性。

select new 
{
    Object1 = object1,
    Object2 = output
};

你会像这样使用它myObj.Object1.Property1, myObj.Object2.Property4, etc.

仍涉及一些手动工作的最后一个选项是定义适当的类型并使用构造函数或构建器方法来完成将对象属性分割为扁平类型的工作。您仍然执行手动映射,但将其与查询逻辑隔离。

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

选择 LINQ 中 JOIN 后的所有列 的相关文章

随机推荐

  • java.lang.IllegalArgumentException:如果指定的 JWT 是数字签名的,则必须指定签名密钥

    我正在寻求实施JWT在我的申请中 我正在通过参考以下内容进行一些研发 https stormpath com blog jwt java create verify https stormpath com blog jwt java cre
  • 使用自定义 http.ResponseWriter 根据代理请求的响应写入 cookie?

    我原来的问题here https stackoverflow com questions 58776775 how can i set a cookie based on response header with reverse proxy
  • 使用 Java 将十六进制转储的字符串表示形式转换为字节数组?

    我正在寻找一种将表示十六进制值的长字符串 来自转储 转换为字节数组的方法 我无法比发帖者更好地表达它同样的问题在这里 http www experts exchange com Programming Programming Languag
  • 使用方法初始化常量变量 (C#)

    是否可以使用另一个类的方法初始化常量值 namespace ConsoleApplication1 class Program const int gravit haha habc something like this static vo
  • 弹性盒/网格布局中的最后一个边距/填充折叠

    我有一个项目列表 我正在尝试使用 Flexbox 将其排列成可滚动的水平布局 容器中的每个项目都有左右边距 但最后一个项目的右边距正在折叠 有没有办法阻止这种情况发生 或者有一个好的解决方法 ul list style type none
  • Laravel 中使用 return 重定向到外部 URL

    我正在尝试使用 SMS INDIA HUB API 向用户发送一次性密码 为此 我需要重定向到 URL 格式 如果我们加载这个 URL 它将返回一些消息 我需要把这条消息传达给 我试过这样 url http cloud smsindiahu
  • 当我在分析模式下运行我的应用程序时,它停止响应

    我的 Android 应用程序在长时间运行的会话中遇到一些 OutOfMemory 错误 为了找到原因 我尝试使用 Android Studio Profiler 但它停止工作并在使用后 10 秒内冻结应用程序 这是 Android Stu
  • 如何在 URL 中传递 Javascript 变量?阿贾克斯

    我试图在我使用的 url 中传递 accesstoken 和 pageid 的值 有什么想法如何正确地做到这一点吗
  • 文档中哪里说 while 测试 readdir 的定义?

    也可以看看 readdir 的 0 结果在 while 条件下如何不为 false https stackoverflow com questions 843430 how is 0 result from readdir not fals
  • VarBinary 到图像 url

    我正在将 Base64 图像转换为byte 并将其存储在varbinarySQL Server 中的列 我想从数据库获取图像并将其设置为 ASP NET 的图像 urlimage 我怎样才能做到这一点 将图像写入数据库的代码 string
  • 在不同行上选择满足不同条件的值

    假设我有一个像这样的两列表格 userid roleid 1 1 1 2 1 3 2 1 我想获得所有不同的用户 IDroleids1 2 AND 3 使用上面的示例 我想要返回的唯一结果是userid1 我该怎么做 好吧 我对此投了反对票
  • 使用 wingrep 搜索 IP 地址

    我正在使用 WinGrep 在 txt 文件中搜索 IP 地址 但我不知道如何让它使用正则表达式进行搜索 有人对这个有经验么 如果您不需要考虑 IPv6 只需要没有端口号的数字 IP 地址 并且不需要验证地址 即不匹配非法地址行321 45
  • Spring MVC 控制器返回 HTML

    我在尝试将 HTML 返回到 Spring MVC 控制器时遇到问题 它看起来像这样 RequestMapping value QUESTION GROUP CREATE URL method RequestMethod POST publ
  • Node.js 上的多个服务器

    我需要在同一个 Nodejs 实例上模拟四个服务器 具有不同的主机和端口 一个例子可以是 域1 8000 域2 8010 域名3 8020 域4 8030 有人可以帮我吗 谢谢 我添加了一个示例 其中包含使用节点的 2 个服务器的可能解决方
  • Java 8 中的多个 null 检查

    我有下面的代码 对于多个空检查来说有点难看 String s null if str1 null s str1 else if str2 null s str2 else if str3 null s str3 else s str4 所以
  • Scala 类型系统的优点

    我正在探索 Scala 语言 我经常听到的一个说法是 Scala 有一个stronger类型系统优于 Java 我认为人们的意思是 scalac拒绝某些有缺陷的程序javac会愉快地编译 只会导致运行时错误 某些不变量可以在 Scala 程
  • Windows批处理文件:多个if条件

    有没有办法说类似的话 if 1 1 or 1 2 在批处理文件中 或者 如果我可以指定一组候选值 例如 if 1 in 1 2 3 4 20 事实证明 and 很简单 只是不是你期望的语法 这3个例子就说明了这一点 换句话说 If 1 1
  • iPhone - UIImageView 中的中心 UIImage

    我有一个 UIImageView 我从 URL 获取 UIImage 图像显示在 UIImageView 中 但我无法使其正确居中 UIImage 为 80 x 68 像素 UIImaveView 的大小为 90 x 90 当我在 UIIm
  • 如何使用来自不同 ViewController 的 JSON 响应填充 UITableView?

    我在 stackoverflow com 上进行了谷歌搜索 但无法摆脱这种情况 如何使用 GET 的响应来填充 TableView 我发送 GET 并在 DetailViewController 我的主控制器 中的方法中解析响应 并希望使用
  • 选择 LINQ 中 JOIN 后的所有列

    我有两张桌子 Table1 and Table2 我想执行左外连接 var myOutput from object1 in Table1 join object2 in Table2 on object1 Property1 equals