使用 Table 值函数来支持时态查询的 EF6?

Use Table Valued Function for EF6 support of temporal queries?

This link 描述了如何将 TVF 与 EF6 数据库一起使用,以便它们可以像 SQL table.

的实体一样在 Linq 查询中使用

创建一个 TVF 似乎可以从 SQL 时态 table 查询历史数据,然后将其提供给 Linq 查询。

例如,TVF 可能有这样的代码来获取其结果集

    select c.Name, c.Age, c.Height, c.Weight from Child c FOR SYSTEM_TIME AS OF '2014-01-01'

我看到的唯一问题是每次有人重新生成 EDMX 时都必须重新映射 TVF。

有没有办法使用 T4 自动将 TVF 映射到子 table?

Have a look at EF Reverse POCO to avid EDMX (and enable function mapping) – ErikEJ Jan 24 at 7:36

感谢 Erik EJ 的回答。我对 Simon Hughes 的 VS Add-in 有很好的体验。我们一直只使用 EDMX 来生成数据库表的模型。 EF Reverse POCO 可以非常高效地执行该任务,并且也支持 TVF 的时间查询。