如何使用EntityFrameworkCore.TemporalTables.Extensions
How to use EntityFrameworkCore.TemporalTables.Extensions
我正在尝试将 EF Core 与临时表一起使用 - SQL 服务器
我发现了这些扩展:
EntityFrameworkCore.TemporalTables.Extensions
看起来很不错...
然而,当我运行这段代码时:
var allItems = context.MyModel.Between(DateTime.MinValue, DateTime.UtcNow);
var listOfAllItems = allItems.ToList();
第二行抛出
Microsoft.Data.SqlClient.SqlException: 'Invalid object name 'MyModel'.'
我做错了什么吗?
或者我应该添加一些额外的设置?!
更新:当我使用简单的 LINQ
时它起作用了,所以这个例子带有结果:
var allItems = context.MyModel.ToList();
我找到了这个扩展,它运行良好,没有任何问题:
https://github.com/glautrou/EfCoreTemporalTable
所以你也可以这样做,方法是AsTemporalBetween
:
var allItems = context.MyModel.AsTemporalBetween(DateTime.MinValue, DateTime.UtcNow);
var listOfAllItems = allItems.ToList();
它检索所有记录(从两个表)。
还有其他方法可用:
- AsTemporalAll()
- AsTemporalAsOf(date)
- AsTemporalFrom(startDate, endDate)
- AsTemporalBetween(startDate, endDate)
- AsTemporalContained(startDate, endDate)
从 EF Core 6.0 RC1 开始,Entity Framework Core 现在支持时态表。
您可以进一步了解 here 的功能。
我正在尝试将 EF Core 与临时表一起使用 - SQL 服务器
我发现了这些扩展:
EntityFrameworkCore.TemporalTables.Extensions
看起来很不错...
然而,当我运行这段代码时:
var allItems = context.MyModel.Between(DateTime.MinValue, DateTime.UtcNow);
var listOfAllItems = allItems.ToList();
第二行抛出
Microsoft.Data.SqlClient.SqlException: 'Invalid object name 'MyModel'.'
我做错了什么吗? 或者我应该添加一些额外的设置?!
更新:当我使用简单的 LINQ
时它起作用了,所以这个例子带有结果:
var allItems = context.MyModel.ToList();
我找到了这个扩展,它运行良好,没有任何问题:
https://github.com/glautrou/EfCoreTemporalTable
所以你也可以这样做,方法是AsTemporalBetween
:
var allItems = context.MyModel.AsTemporalBetween(DateTime.MinValue, DateTime.UtcNow);
var listOfAllItems = allItems.ToList();
它检索所有记录(从两个表)。
还有其他方法可用:
- AsTemporalAll()
- AsTemporalAsOf(date)
- AsTemporalFrom(startDate, endDate)
- AsTemporalBetween(startDate, endDate)
- AsTemporalContained(startDate, endDate)
从 EF Core 6.0 RC1 开始,Entity Framework Core 现在支持时态表。
您可以进一步了解 here 的功能。