我在我的工作中使用遗留数据库,我需要在不同数据类型的列上连接两个表。
一个是int而另一个是long,所以当Entity框架将LINQ
联接转换为SQL
表达式时,我在JOIN
条件中得到了类似的内容:CAST( [Extent1].[KundeID] AS bigint) = [Extent2].[ClientNumber]
。
因此,KundeID
columd上的索引被忽略,加入非常慢。
是否可以创建铸造值并对其进行索引,因此我在CAST( [KundeID] AS bigint)
而不是[KundeID]
上设有索引?或任何其他可能有用的解决方案..
答案 0 :(得分:0)
您可以尝试在Convert.ToInt32()
上应用[Extent2].[ClientNumber]
,以便可以使用索引吗?