Question :
Comment ajouter des annotations de données à une classe générée par Entity Framework (EF) qui persiste après le code régénération ?
Contexte :
Considérons une classe générée par EF :
public partial class ItemRequest { public int RequestId { get; set; } }
Modifier ce code directement pour ajouter des annotations (par exemple, [Obligatoire ]) sera écrasé sur le code suivant génération.
Réponse :
EF génère des classes sous forme de classes partielles. En utilisant cela, nous pouvons créer une classe partielle distincte avec les annotations de données souhaitées :
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; } } }
L'attribut MetadataType relie la classe ItemRequestMetaData à la classe ItemRequest d'origine. Cela permet d'appliquer les annotations de données dans ItemRequestMetaData à ItemRequest sans modifier le code généré.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!