使用 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 的时间查询。
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 的时间查询。