我在asp.net核心网络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();
但它也不会重置主键。
是否可以重置内存数据库,包括其主键?
答案 0 :(得分:2)
目前不行。但是,它已在EF Core 3.0 Preview 4中修复。 EF Core 3.0 Preview 4 announcement和关联的Github issue。