我正在尝试使用内存中的SQLite数据库为集成测试创建一个新的专用实体框架DbContext.Below是OnModelCreating方法:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.AddFromAssembly(typeof(XXX).Assembly);
var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<YYY>(modelBuilder);
Database.SetInitializer(sqliteConnectionInitializer);
base.OnModelCreating(modelBuilder);
}
正如你所看到的那样,我正在添加我常用的流畅映射 - 就像我正在使用的“通常”上下文一样。问题是SQLite与SQLServer有点不同,因此映射不起作用,即我无法映射:
Property(x => x.Timestamp).HasColumnOrder(11).IsRequired().IsRowVersion().HasColumnName("timestamp");
SQLite不支持时间戳。问题是:如何按照惯例覆盖流畅的映射 - 在这种情况下,它足以摆脱IsRowVersion()
- 在集成测试中没有乐观的并发性是完全可行的。