如何覆盖Entity Framework流畅的映射?

时间:2016-05-05 06:29:06

标签: entity-framework sqlite entity-framework-6

我正在尝试使用内存中的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() - 在集成测试中没有乐观的并发性是完全可行的。

0 个答案:

没有答案