MVC Model Validation From Database

Ich habe ein sehr einfaches Modell, das aus der Datenbank validiert werden muss

public class UserAddress
{
    public string CityCode {get;set;}
}

CityCode kann Werte haben, die nur in meiner Datenbanktabelle verfügbar sind.

Ich weiß, ich kann so etwas tun.

[HttpPost]
public ActionResult Address(UserAddress model)
{
    var connection = ; // create connection
    var cityRepository = new CityRepository(connection);

    if (!cityRepository.IsValidCityCode(model.CityCode))
    {
        // Added Model error
    }
}

Das scheint sehrWET Da ich dieses Modell an vielen Stellen verwenden muss und die gleiche Logik hinzufüge, scheint jeder Ort, als würde ich MVC Architecture nicht richtig verwenden.

Was ist das beste Muster, um ein Modell aus der Datenbank zu validieren?

HINWEIS Die meisten Überprüfungen werden in der Datenbank nach einzelnen Feldern durchsucht. Andere Überprüfungen können auch Kombinationen von Feldern umfassen. Aber im Moment bin ich mit der Validierung der Einzelfeld-Suche zufrieden, solange es sich um @ handelDRY und verwendet nicht zu viel Reflexion ist akzeptabel.

NO CLIENT SIDE VALIDATION: Für alle, die in Bezug auf die clientseitige Validierung antworten, ist keine solche Validierung erforderlich. Die meisten meiner Validierungen sind serverseitig, und ich benötige dieselbe. Antworten Sie bitte nicht mit clientseitigen Validierungsmethoden.

P.S. Wenn mir jemand einen Hinweis geben kann, wie man eine Attribut-basierte Validierung von der Datenbank aus durchführt, ist das äußerst hilfreich.

Antworten auf die Frage(16)

Ihre Antwort auf die Frage