Решил по-другому в OnModelBuilding
if (DataBase.IsInMemory())
var autoGenIntProperties = modelBuilder.Model.GetEntityTypes()
.SelectMany(t => t.GetProperties())
.Where(p => p.ClrType == typeof(int) && p.ValueGenerated != ValueGenerated.Never);
foreach (var property in autoGenIntProperties)
property.SetValueGeneratorFactory((p, t) => new InMemoryIntegerValueGenerator<int>(p.GetIndex()));
Это скорее всего потому что:
1. Ключи понятно как инкрементить, а кастомные поля нет
2. У каждой бд реализация этого кейса разная, по этому нужно явно указывать в InMemory как отыгрывать этот кейс
Странно что в апишке не предусмотрели этот кейс обязательного использования инкрементации при инициализации, что бы юзеры не ломали голову часами