如何重置内存数据库及其主键

我在我的 asp.net 核心 web api 中使用了一个 inMemoryDatabase,它是这样定义的:在 startup.cs 中:


services.AddDbContext<TempContext>(options => options.UseInMemoryDatabase("ImageDataBase"));

在上下文中:


public class TempContext : DbContext

{

  public TempContext(DbContextOptions options) : base(options)

  { }


  public DbSet<Images> Images { get; set; }

图像类:


public class PathImages

{

  public int Id { get; set; }

  public string RawImage { get; set; }

  public string ProcessedImage { get; set; }

}

我想根据用户在客户端的操作来重置它。所以我在视图的控制器中尝试:


_context.Images.RemoveRange(_context.Images.ToArray());

await _context2.SaveChangesAsync();

但主键未重置,我的视图需要重置。


然后我尝试了:


await _context.Database.EnsureDeletedAsync();


await _context.Database.EnsureCreatedAsync();

但它也不会重置主键。


有没有办法重置内存数据库,包括它的主键?


慕桂英4014372
浏览 52回答 1
1回答

慕容708150

不是现在。不过,它已在 EF Core 3.0 Preview 4 中修复。EF Core 3.0 Preview 4 公告和相关的Github问题。
打开App,查看更多内容
随时随地看视频慕课网APP