Wie erstelle ich einen DB-basierten Regelsatz für das Web-App-Leistungssystem?

Ich plane ein Leistungssystem für eine ASP.NET MVC-Site. Ich möchte, dass die Erfolgsregeln in einer Datenbank gespeichert werden - um neue Erfolge einfacher hinzufügen zu können und um vorhandene Regeln zentral zu verwalten. Benutzer haben keinen Zugriff zum Ändern der Regeln.

Wenn ein Benutzer eine Aktion ausführt, mit der möglicherweise ein Erfolg erzielt werden könnte, werden die Datenbankregeln abgefragt. Wenn Übereinstimmungen vorliegen, geben Sie die Erfolge an (in einer Nachschlagetabelle gespeichert, (userId, achievementId, dateAwarded).

Im Moment plane ich, die "Auslöser" für bestimmte Aktionen im Controller zu setzen, aber der Code, der die Arbeit erledigt, wird im Modell enthalten sein.

Gibt es ein Standard-DB-Schema für ein Leistungssystem, das dies erreicht? Das Rad muss nicht neu erfunden werden, wenn es nicht erforderlich ist. Wenn nicht, welche Probleme würden Ihrer Meinung nach auftauchen, worauf sollte man achten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage