EF vérifier le modèle et modl propre création, la valeur est mise à jour

 ///  <summary>                          
    /// Créé: Jiang Yunfeng
     /// Date: 23/12/2019
     /// Description: mise à jour, les entités par rapport à une entité de base de données
     ///  </ Résumé> 
    publique  classe JyfUpdateModel 
    { 
        ///  <Sommaire> 
        /// quand dataBaseObj newobj ayant le même nom d'attribut, si cette propriété est pas de valeur newobj, la valeur d'attribut est attribué dans dataBaseObj newobj cette propriété
         /// est principalement utilisé pour la mise à jour, afin d' éviter la vidange de l'original certaines données
         ///  </ summary> 
        ///  <param name = "dataBaseObj"> EF requête la base de données obtenue le modèle </ param> 
        ///  <param name = "newobj"> lorsque le formulaire est soumis à l'action, cadre automatiquement les champs de formulaire modèle créé à l' intérieur </ param>
        publique  statique  vide updateModel (Objet dataBaseObj, objet newobj) 
        { 
            type t = dataBaseObj.GetType ();
             // 3.2.3 Obtenir toutes les entités et des biens publics ??? 
            Liste <PropertyInfo> propertyInfos = t.GetProperties (BindingFlags.Instance | BindingFlags.Public). ToList ();
             // 3.2.4 Création d' une collection de dictionnaire d'attribut d'entité ??? 
            le dictionnaire < chaîne , PropertyInfo> dicPropertys = new new Dictionnaire < chaîne , PropertyInfo> ();
             // 3.2.5 le nom d'attribut de l' entité que vous souhaitez modifier les propriétés? ? ?? collection ajoutée aux clés de dictionnaire: nom d'attribut ?? valeur: objet attribut ?? 
            propertyInfos.ForEach (P => 
            {
                dicPropertys.Add (p.Name, p); 
            }); 

            Tapez t2 
                            item.SetValue (newobj, dicPropertys [item.Name] .GetValue (dataBaseObj)); = newObj.GetType ();
            foreach ( var article à t2.GetProperties (BindingFlags.Instance | BindingFlags.Public) .ToList ()) 
            { 
                si (dicPropertys.Keys.Contains (item.Name)) 
                { 
                    try 
                    { 
                        si (item.GetValue (newobj) == null && dicPropertys [item.Name] .GetValue (dataBaseObj)! = null ) 
                        { 
                        } 

                    } 
                    captures (Exception ex) 
                    {
                        jeter ; 
                    } 
                } 
            } 
        } 

    }

 

Je suppose que tu aimes

Origine www.cnblogs.com/jiangyunfeng/p/12607863.html
conseillé
Classement