好吧。在过去的几周里,我非常努力地学习了 .NET 数据提供程序用于 teradata 并建立了一个基础设施来查询 Teradata 数据源。一切都很棒,除了......
提供者不支持规范实体函数。好吧。然后我查看下面的链接,上面说我应该使用“Teradata.DiffDays”和“EntityFunctions.DiffDays”。
因此,我很高兴地尝试在我的 LINQ to Entities 查询中使用“Teradata.DiffDays”:
var 结果 = IMAccts.Where(acct => acct.ACCT_CLSD_DT != null && Teradata.DiffDays(ACCT_OPEN_DT, ACCT_CLSD_DT) >= 90).Dump();
命名空间“Teradata”中不存在类型或命名空间名称“DiffDays”。
但是,我观察到可以在 Entity SQL 中使用相同的 Teradata.DiffDays,如下所示:
选择 Teradata.DiffDays(ACCT_OPEN_DT,ACCT_CLSD_DT) 作为 IMAccts 的差异
我的问题是:
1)“Teradata”命名空间下的函数如何在 Entity SQL 中而不是在 LINQ to Entities 中被识别?
2)我是否可以通过提供我自己的 DateDiff 函数来解决这个问题?(请注意,在本地收集数据然后应用日期操作绝对不是一种选择)