Heim > Backend-Entwicklung > C++ > Wie bleiben Datenanmerkungen in von Entity Framework generierten Klassen erhalten?

Wie bleiben Datenanmerkungen in von Entity Framework generierten Klassen erhalten?

Patricia Arquette
Freigeben: 2025-01-01 12:18:11
Original
925 Leute haben es durchsucht

How to Persist Data Annotations in Entity Framework Generated Classes?

Beibehalten von Datenanmerkungen im von Entity Framework generierten Code

Frage:

So fügen Sie Datenanmerkungen zu einer von generierten Klasse hinzu Entity Framework (EF), das nach dem Code bestehen bleibt Regeneration?

Kontext:

Betrachten Sie eine von EF generierte Klasse:

public partial class ItemRequest
{
    public int RequestId { get; set; }
}
Nach dem Login kopieren

Diesen Code direkt ändern, um Anmerkungen hinzuzufügen (z. B. [Erforderlich ]) wird im nachfolgenden Code überschrieben Generation.

Antwort:

EF generiert Klassen als Teilklassen. Auf diese Weise können wir eine separate Teilklasse mit den gewünschten Datenanmerkungen erstellen:

using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

// Ensure the namespace matches the original class
namespace MvcApplication1.Models
{
    // Metadata class for data annotations
    [MetadataType(typeof(ItemRequestMetaData))]
    public partial class ItemRequest
    {
    }

    public class ItemRequestMetaData
    {
        [Required]
        public int RequestId { get; set; }
    }
}
Nach dem Login kopieren

Das MetadataType-Attribut verknüpft die ItemRequestMetaData-Klasse mit der ursprünglichen ItemRequest-Klasse. Dadurch können Datenanmerkungen in ItemRequestMetaData auf ItemRequest angewendet werden, ohne den generierten Code zu ändern.

Das obige ist der detaillierte Inhalt vonWie bleiben Datenanmerkungen in von Entity Framework generierten Klassen erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage