2009-11-06 9 views
0

Je travaille sur un héritage où certains champs utilisent des encodages spéciaux. Est-il possible de définir une certaine façon un decode les champs de la LINQ au lieu de faire comme je le fais maintenant:Encodage dans linq/entity framework

XisoEncoding enc = new XisoEncoding() 

var q = from b in ent.Basket 
      where b.ID == 22038 
      select b; 

Basket basket = query.First(); 
basket.STOMAN_MESSAGE = enc.DecodeString(basket.STOMAN_MESSAGE); 

..... 
+0

oui, la valeur STOMAN_MESSAGE est une base de données récupérée – Henrik

Répondre

1

classes d'entité sont définies comme des classes partielles. Vous pouvez ajouter une nouvelle propriété à la classe Basket, par exemple DecodedStomanMessage, qui renvoie le message décodé.

Je ne modifierais pas la propriété STOMAN_MESSAGE elle-même, car cela marquerait l'entité comme modifiée, et vous pourriez finir par renvoyer la version décodée à la base de données.