2009-11-24 4 views
0

Je souhaite relacer une valeur récupérée d'une projection L2E à une chaîne étendue.Remplacer la valeur Linq par Entité dans Projection

Le tableau contient une colonne appelée Etat qui peut avoir une valeur « 0 » ou « 1 » et dans mon L2E je

var trans = from t in db.Donation 
      select new DonationBO() 
      { 
       Status = t.Status 
      }; 

Ce que je veux est de revenir ou l'autre des chaînes « en attente » ou "Committed" au lieu de "0" ou "1".

Comment est-ce que je peux faire ceci ici?

Répondre

3

Si l'état est une chaîne que vous pouvez simplement faire:

var trans = from t in db.Donation 
     select new DonationBO() 
     { 
      Status = t.Status == "0" ? "Pending" : "Committed" 
     }; 
+0

Je soupçonne Status est un int, mais l'idée est bien raison. – tvanfosson

+0

Ouais, j'ai d'abord eu le code qui ajoute une autre propriété à DonationBO, mais l'a enlevé - l'idée est fondamentalement la même –

+0

J'avais trid ceci déjà mais obtenez une erreur de compilateur. "semincolon après la méthode ou le bloc accesseur n'est pas valide" sur le point-virgule fermant l'instruction select. Il y a donc quelque chose dans cet usage dont Linq n'est pas content. – Redeemed1