diff --git a/src/Database/Models/KpiModel.cs b/src/Database/Models/KpiModel.cs
deleted file mode 100644
index dda25049ff0242d7cc96c2cd3c8fa23227e1fe82..0000000000000000000000000000000000000000
--- a/src/Database/Models/KpiModel.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using Coscine.Database.DataModel;
-using Microsoft.EntityFrameworkCore;
-using System;
-
-namespace Coscine.Database.Models
-{
-    public class KpiModel : DatabaseModel<Kpi>
-    {
-        public override System.Linq.Expressions.Expression<Func<Kpi, Guid>> GetIdFromObject()
-        {
-            return (KpiObject) => KpiObject.Id;
-        }
-
-        public override DbSet<Kpi> GetITableFromDatabase(CoscineDB db)
-        {
-            return db.Kpis;
-        }
-
-        public override void SetObjectId(Kpi databaseObject, Guid id)
-        {
-            databaseObject.Id = id;
-        }
-
-        public int MarkAsSent(Kpi databaseObject)
-        {
-            databaseObject.SentSuccessfully = true;
-            return Update(databaseObject);
-        }
-    }
-}
diff --git a/src/Database/ReturnObjects/KpiObject.cs b/src/Database/ReturnObjects/KpiObject.cs
deleted file mode 100644
index fdd8b12fc4e52760a3e7324b9c5e528b5a320246..0000000000000000000000000000000000000000
--- a/src/Database/ReturnObjects/KpiObject.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System;
-
-namespace Coscine.Database.ReturnObjects
-{
-    public class KpiObject
-    {
-        public Guid Id { get; set; }
-        public string MeasurementID { get; set; }
-        public string Ikz { get; set; }
-        public double? Value { get; set; }
-        public DateTime? Start { get; set; }
-        public DateTime? End { get; set; }
-        public string AdditionalInfo { get; set; }
-        public string AdditionalInfo1 { get; set; }
-        public string AdditionalInfo2 { get; set; }
-        public string AdditionalInfo3 { get; set; }
-        public string AdditionalInfo4 { get; set; }
-        public string AdditionalInfo5 { get; set; }
-        public bool SentSuccessfully { get; set; }
-
-        public KpiObject(Guid id, string measurementId, string ikz, double value, DateTime start, DateTime end, string additionalInfo = "", string additionalInfo1 = "", string additionalInfo2 = "", string additionalInfo3 = "", string additionalInfo4 = "", string additionalInfo5 = "", bool sentSuccessfully = false)
-        {
-            Id = id;
-            MeasurementID = measurementId;
-            Ikz = ikz;
-            Value = value;
-            Start = start;
-            End = end;
-            AdditionalInfo = additionalInfo;
-            AdditionalInfo1 = additionalInfo1;
-            AdditionalInfo2 = additionalInfo2;
-            AdditionalInfo3 = additionalInfo3;
-            AdditionalInfo4 = additionalInfo4;
-            AdditionalInfo5 = additionalInfo5;
-            SentSuccessfully = sentSuccessfully;
-        }
-    }
-}
diff --git a/src/Scaffolding/CustomDesignTimeService.cs b/src/Scaffolding/CustomDesignTimeService.cs
index 1bd05650b496aa3f716531fc80761551429c6ec0..ab3d2219b32104a23cde42912ad5f00c88c79491 100644
--- a/src/Scaffolding/CustomDesignTimeService.cs
+++ b/src/Scaffolding/CustomDesignTimeService.cs
@@ -8,7 +8,7 @@ namespace Coscine.Database
         public void ConfigureDesignTimeServices(IServiceCollection serviceCollection)
                     => serviceCollection.AddSingleton<IPluralizer, CustomPluralizer>();
     }
-    
+
     public class CustomPluralizer : IPluralizer
     {
         Inflector.Inflector _inflector = new Inflector.Inflector(System.Globalization.CultureInfo.GetCultureInfo("en-us"));
diff --git a/src/Scaffolding/DataModel/Kpi.cs b/src/Scaffolding/DataModel/Kpi.cs
deleted file mode 100644
index dba34ad90999e2066451fd088a9d26de3ab3bf51..0000000000000000000000000000000000000000
--- a/src/Scaffolding/DataModel/Kpi.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Coscine.Database.DataModel
-{
-    public partial class Kpi
-    {
-        public Guid Id { get; set; }
-        public string MeasurementId { get; set; }
-        public string Ikz { get; set; }
-        public double? Value { get; set; }
-        public DateTime? Start { get; set; }
-        public DateTime? End { get; set; }
-        public string AdditionalInfo { get; set; }
-        public string AdditionalInfo1 { get; set; }
-        public string AdditionalInfo2 { get; set; }
-        public string AdditionalInfo3 { get; set; }
-        public string AdditionalInfo4 { get; set; }
-        public string AdditionalInfo5 { get; set; }
-        public bool SentSuccessfully { get; set; }
-    }
-}
diff --git a/src/Scaffolding/DataModel/Model.cs b/src/Scaffolding/DataModel/Model.cs
index c845f6b6760f88207c1b49df1e2443d00c3fa05b..b9417b00f7a0f28997296aee2349cfbd04b4b81b 100644
--- a/src/Scaffolding/DataModel/Model.cs
+++ b/src/Scaffolding/DataModel/Model.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.Collections.Generic;
 using Microsoft.EntityFrameworkCore;
 using Microsoft.EntityFrameworkCore.Metadata;
@@ -27,7 +27,6 @@ namespace Coscine.Database.DataModel
         public virtual DbSet<Group> Groups { get; set; }
         public virtual DbSet<GroupMembership> GroupMemberships { get; set; }
         public virtual DbSet<Invitation> Invitations { get; set; }
-        public virtual DbSet<Kpi> Kpis { get; set; }
         public virtual DbSet<Language> Languages { get; set; }
         public virtual DbSet<License> Licenses { get; set; }
         public virtual DbSet<LinkedResourceType> LinkedResourceTypes { get; set; }
@@ -259,51 +258,6 @@ namespace Coscine.Database.DataModel
                     .HasConstraintName("FK_Invitations_Role_Roles_Id");
             });
 
-            modelBuilder.Entity<Kpi>(entity =>
-            {
-                entity.ToTable("Kpi");
-
-                entity.Property(e => e.Id).HasDefaultValueSql("(newid())");
-
-                entity.Property(e => e.AdditionalInfo)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.AdditionalInfo1)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.AdditionalInfo2)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.AdditionalInfo3)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.AdditionalInfo4)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.AdditionalInfo5)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.End)
-                    .HasColumnType("datetime")
-                    .HasDefaultValueSql("(getdate())");
-
-                entity.Property(e => e.Ikz).HasMaxLength(9);
-
-                entity.Property(e => e.MeasurementId)
-                    .HasMaxLength(500)
-                    .HasColumnName("MeasurementID");
-
-                entity.Property(e => e.Start)
-                    .HasColumnType("datetime")
-                    .HasDefaultValueSql("(getdate())");
-            });
-
             modelBuilder.Entity<Language>(entity =>
             {
                 entity.Property(e => e.Id).HasDefaultValueSql("(newid())");
@@ -489,6 +443,7 @@ namespace Coscine.Database.DataModel
                 entity.HasOne(d => d.Resource)
                     .WithMany(p => p.ProjectResources)
                     .HasForeignKey(d => d.ResourceId)
+                    .OnDelete(DeleteBehavior.ClientSetNull)
                     .HasConstraintName("FK_ProjectResource_ResourceId_Resources_Id");
             });
 
@@ -675,6 +630,7 @@ namespace Coscine.Database.DataModel
                 entity.HasOne(d => d.Resource)
                     .WithMany(p => p.ResourceDisciplines)
                     .HasForeignKey(d => d.ResourceId)
+                    .OnDelete(DeleteBehavior.ClientSetNull)
                     .HasConstraintName("FK_ResourceDiscipline_ResourceId_Resources_Id");
             });