我在作业中使用遗留数据库,我需要连接两个不同数据类型的表。在连接表时使用转换
一个是int,而另一种是长的,所以,当实体框架转换LINQ
加入到SQL
表达我有这样的事情在JOIN
条件:CAST([Extent1].[KundeID] AS bigint) = [Extent2].[ClientNumber]
。
因此,KundeID
columd上的索引被忽略,并且加入非常缓慢。
是否有可能创建和索引铸造价值,所以我有索引CAST([KundeID] AS bigint)
而不是[KundeID]
?或任何其他解决方案,可能工作..
您是否尝试将转换后的列存储为计算列?这样你可以添加一个索引到该列。有关MS文档的更多信息:https://docs.microsoft.com/en-us/sql/relational-databases/indexes/indexes-on-computed-columns。 – SchmitzIT
谢谢,我会试试。 – Aleksa