Heim >Backend-Entwicklung >C++ >Wie kann ich Datenanmerkungen zu vom Entity Framework generierten Klassen hinzufügen, ohne sie zu überschreiben?

Wie kann ich Datenanmerkungen zu vom Entity Framework generierten Klassen hinzufügen, ohne sie zu überschreiben?

DDD
DDDOriginal
2025-01-02 20:35:40826Durchsuche

How Can I Add Data Annotations to Entity Framework-Generated Classes Without Overwriting Them?

Erstellen von Datenanmerkungen für von Entity Framework generierte Klassen

Bei der Arbeit mit Entity Framework fehlen generierten Klassen häufig die notwendigen Datenanmerkungen für die Validierung. In Situationen wie dieser besteht eine sichere Möglichkeit zum Definieren von Einschränkungen in einer Teilklasse.

Wenn Sie beispielsweise die folgende generierte Klasse „ItemRequest“ mit Feldern wie „RequestId“ haben, möchten Sie möglicherweise bestimmte Felder als erforderlich markieren:

public partial class ItemRequest
{
    public int RequestId { get; set; }
}

Das direkte Bearbeiten der generierten Klasse kann jedoch dazu führen, dass Ihre Anmerkungen überschrieben werden. Erstellen Sie stattdessen eine zweite Teilklasse mit den gewünschten Annotationen:

namespace MvcApplication1.Models 
{
    [MetadataType(typeof(ItemRequestMetaData))]
    public partial class ItemRequest
    {
    }

    public class ItemRequestMetaData
    {
        [Required]
        public int RequestId {get;set;}
    }
}

Mit diesem Ansatz stellen Sie sicher, dass Ihre Datenanmerkungen auch nach Aktualisierungen der Codegenerierung erhalten bleiben.

Das obige ist der detaillierte Inhalt vonWie kann ich Datenanmerkungen zu vom Entity Framework generierten Klassen hinzufügen, ohne sie zu überschreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn