c# - Entity Framework Core 和 SQL Server 2016 时态表

标签 c# asp.net-core .net-core entity-framework-core temporal-tables

我们将 EF Core 和 SQL Server 2016 用于我们的 .NET Core Web API。我正在评估临时表的使用及其对 EF Core 代码的影响。当我使用 cmdline 生成 EF 模型时,它会在 dbcontext 中生成带有 appstart、append 和映射的模型。当我插入/更新时,他们说这些列无法更新。我必须从模型和 dbcontext 映射中删除 appstart、end 才能使其正常工作。我读到像 EF 6.x 这样的 EF Core 中还没有拦截功能。

请告知任何更好的解决方案。

最佳答案

我尝试了以下选项,它们都有效。

  1. 选项 1:删除 appstart,从实体附加字段和 dbcontext 映射和更新/插入开始正常工作。

  2. 选项 2:用 属性如下。


[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime StartTime { get; set; }

[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime EndTime { get; set; } 

关于c# - Entity Framework Core 和 SQL Server 2016 时态表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42627585/

相关文章:

.net-core - EF Core 中的 SqlFunctions.DatePart 等效项

c# - 根据优先级数组对字符串数组进行排序

c# - 防止调试器在已编译的 LambdaExpression 中出现异常时停止

c# - MVC 模式差异

Asp.net 核心 + IIS Express。如何查看日志消息?

c# - 在没有 Entity Framework 和迁移的 ASP.NET Core MVC 应用程序中使用 ASP.NET Identity

c# - 列映射到未命名列

c# - 如何配置 .netcore 代理连接到 webpack 以使用 HTTP 而不是 HTTPS

c# - ASP.NET WebApi 无法与 Azure 中的 COM (Excel) 配合使用

c# - .NET Core - HttpClient 与 RestSharp