栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在LINQ中在单个联接中的多个字段上进行联接

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在LINQ中在单个联接中的多个字段上进行联接

具有匿名类型的解决方案应该可以正常工作。LINQ 可以 只表示等值连接(用联接子句,反正),而事实上,你已经什么的说你要根据你的原始查询反正表达。

如果由于某些特定原因而您不喜欢带有匿名类型的版本,则应解释该原因。

如果您想做的不是您最初要求的,请举一个您 真正 想做的事的例子。

编辑:响应问题中的编辑:是的,要进行“日期范围”联接,您需要使用where子句。它们实际上在语义上是等效的,因此这只是可用的优化的问题。Equijoins通过基于内部序列创建查找来提供简单的优化(在LINQ
to Objects中,包括LINQ to DataSets)-将其视为从键到与键匹配的项序列的哈希表。

使用日期范围进行此操作比较困难。但是,根据“日期范围联接”的确切含义,您可以执行 类似的操作
-如果您计划创建日期的“范围”(例如每年一次),以便在日期范围内出现两个条目同一年(但不是同一日期)应该匹配,那么您只需使用该波段作为键即可。如果比较复杂,例如,连接的一侧提供了一个范围,而连接的另一侧提供了一个日期,如果它在该范围内,则匹配,最好用一个

where
子句(第二个之后
from
条款)。您可以通过命令一侧或另一侧更有效地查找匹配项来做一些特别时髦的魔术,但这将需要大量工作-
在检查性能是否是问题之后,我只会做这种事情。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/465687.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号