Beispiel #1
0
        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()");
                });
            }
        }