private void ConfigureUuids(ModelBuilder modelBuilder) { if (Database.IsSqlite()) { return; } var iHaveIds = modelBuilder.Model.GetEntityTypes() .Select(x => x.ClrType) .Where(x => !x.IsAbstract && !x.IsInterface && x.GetInterfaces().Contains(typeof(IBaseModel))); foreach (var haveId in iHaveIds) { modelBuilder.Entity(haveId, builder => { builder.HasIndex(nameof(IBaseModel.Uuid)).IsUnique(); builder.Property(nameof(IBaseModel.Uuid)).HasDefaultValueSql("newid()"); }); } }