Maison > développement back-end > Tutoriel C#.Net > Introduction détaillée à la réflexion C# et à la vérification de la duplication des fonctionnalités

Introduction détaillée à la réflexion C# et à la vérification de la duplication des fonctionnalités

黄舟
Libérer: 2017-03-04 11:09:11
original
1709 Les gens l'ont consulté

Réflexions et propriétés

Les technologies de réflexion et de fonctionnalités fournies par le framework .net peuvent être utilisées pour vérifier la répétabilité des données afin de décider d'écrire ou non un certain élément de données dans la table de la base de données.

Exigences

Lorsqu'une entité écrit une donnée dans la base de données, il est souvent nécessaire de vérifier si les données sont un doublon, comme une nouvelle personne , en supposant que le numéro d'identification ne peut pas être répété. Si le numéro d'identification du personnel nouvellement créé est dupliqué avec une ou plusieurs entrées dans le tableau du personnel, des invites doivent être données ou d'autres mesures doivent être prises, telles que la mise à jour ou la suppression.

Méthode

Dans ce scénario de demande, vous pouvez utiliser les fonctionnalités et la technologie de réflexion fournies par le framework .net pour résoudre ces besoins. Le processus spécifique,

Deuxièmement, se référer à la classe de fonctionnalités nouvellement écrite dans la classe d'entité pour construire son identifiant unique (une ou plusieurs combinaisons d'attributs

Enfin, Lors de la vérification de la duplication des données, utilisez la méthode fournie par Attribute pour obtenir l'attribut d'identification unique (un ou plusieurs) de chaque classe d'entité.
 Classe étendue, voici le suffixe Attribute dans KeyFieldAttribute, qui peut être omis, donc KeyField est une abréviation, équivalente à KeyFieldAttribute.
Attribute[] GetCustomAttributes(modeltype, inherit);Utiliser la classe d'entités :
Utilisez la combinaison d'attributs clés renvoyée par la fonctionnalité pour interroger les données dans la base de données. Si au moins un enregistrement peut être trouvé, il sera traité en conséquence. selon une certaine logique ; sinon, vous pouvez écrire de nouvelles données directement. Description de la méthode fournie dans la classe Attribute :

Ce qui précède est l'introduction détaillée de la réflexion C# et de la vérification de la duplication des fonctionnalités. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (m.sbmmt.com). )!
     public class KeyFieldAttribute:Attribute
     {        private static List<string> keyfields = new List<string>();        
     /// <summary>
        /// 构造关键属性
        /// </summary>
        /// <param name="fields"></param>
        public KeyFieldAttribute(params string[] fields)
        {            foreach (string kf in fields)
            {                if (!keyfields.Contains(kf))
                    keyfields.Add(kf);
            }

        }        public static List<string> KeyFields
        {            get { return keyfields; }
        }
    }
Copier après la connexion

[KeyField("ID")]public class Person
{  public int ID {get;set;} //人员ID
  public string Name {get;set;}//人员名称
  public DateTime BirthDate {get;set;} //出生年月日}

    [KeyField("RoleGroupID","RoleCode")]    public class Role
    {        public int RoleGroupID { get; set; } //角色组别ID
        public string RoleCode { get; set; } //角色编号
        public string RoleName { get; set; }//角色名称
    }
Copier après la connexion

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal