J'ai un scénario dans lequel il existe un jeu de résultats LINQ; J'ai utilisé la requête suivante
var stockDetails = from d in db.BloodBanks
where d.bbUserName == Session["username"].ToString()
select d;
Maintenant, je veux utiliser cet ensemble de résultats et mettre à jour la valeur d'une colonne. La colonne est sélectionnée dynamiquement via une variable de chaîne.
Le code que j'essaie d'utiliser est:
foreach (BloodBank b in stockDetails)
{
b.<--column name from string variable--> = TextBox1.Text;
}
Veuillez m'aider ici pour savoir comment y parvenir.
Vous pouvez utiliser la réflexion pour obtenir le champ par son nom comme ceci.
foreach (BloodBank b in stockDetails)
{
FieldInfo f = typeof(BloodBank).GetField("fieldName");
if (f != null)
{
f.SetValue(b, TextBox1.Text);
}
}
foreach (BloodBank b in db.BloodBanks.Where(d => where d.bbUserName == Session["username"].ToString())
{
b.col = TextBox1.Text;
}