我有2个大的数据表,需要通过组合键的平等相交人 - 说从一个表,然后从其他("MyId1", "MyId2")
领域("Id1", "Id2")
。快速连接两个大的DataTable
我需要这尽可能快地工作,所以经常LINQ的数据行JOIN是解决不了问题。我想为<composite_key>/<datarow>
等表格创建字典,然后将它们的键相交,这将显着加快工作。对于复合键,我需要使用类似Tuple
这样的组合值并进行比较。这个工程非常快,但问题是当我尝试比较喜欢Tuple<int, int>(1,1)
和Tuple<short, short>(1,1)
键 - 因为类型参数不同,按键永远不会相等。我现在看到的唯一选择是将关键字段预转换为其最覆盖的类型(如字节,整数,长整数等),然后进行比较。不是一个很好的解决方案。 问题:
1.是否有类似的元组可以比较“相似”类型的值的东西吗?
2.是否有加入两个数据表等快速路?
谢谢!
PS:这些键字段并非总是数据表的主键
创建一个数据库视图会比代码做 – Shekhar 2015-04-02 00:07:46
@Shekhar在我的应用我可以从variuos源有数据,不仅从SQL服务器 – LINQ2Vodka 2015-04-02 00:08:43