有没有办法查询时间 table 以查看是否存在任何历史记录?

Is there a way to query a temporal table to see if any history exists?

我的 EF Core 6 应用程序正在使用 SQL 时态表。

我有一个现有的查询,return基于过滤器的行数:

       var results = Context.MyTable
            .Where(cn => cn.Name == "Fred")
            .Skip(5)
            .Take(10)
            .Select(x=>new { FirstName = x=>x.Name, Dob = x=>x.Dob });

我想做的是在响应中添加一个 属性,显示查询中每一行是否有任何历史记录,这样我就可以 return 它到 UI,这将显示用于逐步浏览历史记录的分页控件。

       var results = Context.MyTable
            .Where(cn => cn.Name == "Fred")
            .Skip(5)
            .Take(10)
            .Select(x=>new { FirstName = x=>x.Name, Dob = x=>x.Dob, HasHistory = x.???? });

尝试以下操作:

var results = Context.MyTable
    .Where(cn => cn.Name == "Fred")
    .Skip(5)
    .Take(10)
    .Select(x => new 
    { 
        FirstName = x.Name, 
        Dob = x.Dob, 
        HasHistory = Context.MyTable.TemporalAll().Count(h => h.Id == x.Id) > 1
    });