Annotation des classes générées par Entity Framework
Entity Framework peut générer du code qui représente les tables de base de données sous forme de classes C#, mais ces classes n'incluent pas toujours annotations de données. Cela peut entraîner des problèmes lors de l'utilisation de ces classes dans des applications nécessitant une validation de données ou d'autres fonctionnalités reposant sur des annotations.
Surmonter le problème de génération de code
Une façon d'annoter une classe générée par Entity Framework consiste à créer une deuxième classe partielle qui définit les métadonnées. Les classes partielles partagent le même espace de noms et le même nom, ce qui vous permet d'ajouter des propriétés et des méthodes supplémentaires sans modifier le code généré d'origine. Cela garantit qu'aucune annotation ne sera effacée lors de la génération future de code.
Ajout d'une annotation de champ obligatoire
Suite de l'exemple donné dans la question :
public partial class ItemRequest { public int RequestId { get; set; } }
Pour rendre le champ RequestId obligatoire, créez un deuxième partiel class :
using System.ComponentModel.DataAnnotations; namespace MvcApplication1.Models //make sure the namespace matches the first partial class { [MetadataType(typeof(ItemRequestMetaData))] public partial class ItemRequest { } public class ItemRequestMetaData { [Required] public int RequestId {get;set;} } }
Cette classe partielle inclut l'annotation [Required], définissant des contraintes sur la propriété RequestId. Lors de l'utilisation de cette classe annotée dans les applications, le moteur de validation des données appliquera la contrainte de champ requise.
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!