par exemple, classe question aurait QuestionID, le titre, le contenu, le temps affiché, affiche, étiquettes, etc. Voici comment les données fetching ressemble:MVC - Classes de données - Seul un sous-ensemble de propriétés est nécessaire?
public bool LoadFromDataRow(DataRow row)
{
questionId = (long)row["questionId"];
content = (string)row["content"];
poster = (string)row["poster"];
datePosted = (DateTime)row["datePosted "];
title = (string)row["title"];
return true;
}
Cependant, il pourrait y avoir un temps où je suis seulement en sélectionnant un sous-ensemble de ces propriétés comme questionid et title. Ai-je besoin d'écrire une autre classe pour gérer cela? Ou dois-je vérifier pour chaque colonne unique avant que je récupérer la valeur avec quelque chose comme ceci:
if(row.hascolumns(...)) // seems like overkill?
mais s'il y a 15 champs, et j'ai besoin de seulement 2, et il y a beaucoup de tels enregistrements sur la page, n'est-ce pas comme si j'envoyais des données inutiles de mon SQL Server ...? Ou vous pensez que le temps d'aller chercher 13 champs supplémentaires par enregistrement est négligeable? – TPR
Oui, en effet, vous allez effectuer une requête SQL qui va chercher 15 champs mais afficher seulement 5. Je ne m'inquiéterais pas beaucoup de cela et de l'IMO ce sera un impact négligeable sur les performances par rapport à l'exécution de la requête elle-même. Bien sûr, vous devriez mesurer la performance pour vous assurer que cela ne devienne pas un goulot d'étranglement pour l'application. –