2011-10-24 4 views
3

J'utilise AutoMapper pour le mappage entre mes modèles de domaine et les modèles de vue. Mon hébergeur ne prend en charge que la confiance moyenne, donc AutoMapper ne fonctionnera pas. Y a-t-il d'autres suggestions pour de bons mappeurs comme AutoMapper qui peuvent fonctionner en confiance moyenne?Alternatives AutoMapper pour l'hébergement de confiance moyenne

Je n'ai pas accès à IIS sur l'hôte.

Répondre

3

Vous pouvez développer simple mappeur comme ça, si vos propriétés d'utilisation du modèle avec le même nom:

public static class Mapper { 

     /// <summary> 
     /// Copy all not null properties values of object source in object target if the properties are present. 
     /// Use this method to copy only simple type properties, not collections. 
     /// </summary> 
     /// <param name="source">source object</param> 
     /// <param name="target">target object</param> 
     private static void SimpleCopy(object source, object target) 
     { 
      foreach (PropertyInfo pi in source.GetType().GetProperties()) 
      { 
       object propValue = pi.GetGetMethod().Invoke(source, null); 
       if (propValue != null) 
       { 
        try 
        { 
         PropertyInfo pit = GetTargetProperty(pi.Name, target); 
         if (pit != null) pit.GetSetMethod().Invoke(target, new object[] { propValue }); 
        } 
        catch (Exception) { /* do nothing */ } 
       } 
      } 
     } 

     private static PropertyInfo GetTargetProperty(string name, object target) 
     { 
      foreach (PropertyInfo pi in target.GetType().GetProperties()) 
      { 
       if (pi.Name.Equals(name, StringComparison.CurrentCultureIgnoreCase)) return pi; 
      } 
      return null; 
     } 


} 
Questions connexes