Entity framework core 实体框架核心2不';我看不到sqlite扩展

Entity framework core 实体框架核心2不';我看不到sqlite扩展,entity-framework-core,.net-core-2.0,Entity Framework Core,.net Core 2.0,在EntityFramework1.1中,我有这样的实体 modelBuilder.Entity<Resolution>() .Property(r => r.Created) .ValueGeneratedOnAddOrUpdate() .ForSqliteHasColumnType("Timestamp") .ForSqliteHasDefaultValueSql("CURRENT_TIMESTAMP

在EntityFramework1.1中,我有这样的实体

 modelBuilder.Entity<Resolution>()
      .Property(r => r.Created)
      .ValueGeneratedOnAddOrUpdate()
      .ForSqliteHasColumnType("Timestamp")            
      .ForSqliteHasDefaultValueSql("CURRENT_TIMESTAMP");

 modelBuilder.Entity<Resolution>()
      .Property(r => r.Updated)
      .ForSqliteHasColumnType("Timestamp")
      .IsRequired();
似乎再也找不到了。事实上,所有的“ForSqlite*”函数都不存在

我将“Microsoft.EntityFrameworkCore.Sqlite”升级到2.0。我有

using Microsoft.EntityFrameworkCore;
他们改变了什么吗?除了sql提供程序与.NET Core 1.1不向后兼容之外,我在文档中似乎找不到其他内容


谢谢

我没有找到任何地方提到这些变化。但您可以在EF Core 2.0中使用以下代码

.HasDefaultValueSql("CURRENT_TIMESTAMP");

昨天将一个testproject升级到EF Core 2.0之后,我遇到了类似的问题,在我的例子中,数据库不是SQLite,而是MS SQL Server

我不得不更换

 b.Property(e => e.StartDate).IsRequired().ForSqlServerHasColumnType("Date"); 
 b.Property(e => e.LastModified).IsRequired().ForSqlServerHasColumnType("SmallDateTime");
与:


但在那之后,它又开始工作了。我通过在MSSQLServerManagementStudio中重新创建数据库并直观地检查新创建的列定义来测试它

这些方法在2.0版本中被删除。这本书的一部分介绍了它。是的,这就是我最后做的。
 b.Property(e => e.StartDate).IsRequired().ForSqlServerHasColumnType("Date"); 
 b.Property(e => e.LastModified).IsRequired().ForSqlServerHasColumnType("SmallDateTime");
 b.Property(e => e.StartDate).IsRequired().HasColumnType("Date"); 
 b.Property(e => e.LastModified).IsRequired().HasColumnType("SmallDateTime");