J'ai une colonne Cela va chercher tous les enregistrements pour moi: P> octet [] code> dans une table contenant des données d'empreintes digitales stockées. Je souhaite interroger les lignes d'une table une seule fois et stocker l'enregistrement défini dans une variable ou quelque part dans mon code, de sorte que je n'ai pas à interroger la base de données à chaque fois. La requête reviendra des milliers de lignes.
foreach (var row in Data.TableData)
{
Template tem = new Template();
tem.DeSerialize(row.a.fingerTemplate);
if (tem != null)
{
// Compare feature set with particular template.
Verificator.Verify(features, tem, ref res);
if (res.Verified)
{...}
}
}
3 Réponses :
Vous les retournez comme nouveaux objets avec Sélectionnez Nouveau {A} Code>. Si
context.tblfingerprints code> est de type
TableAta
Sélectionnez Nouveau {A} Code> (Ceci crée un nouveau type anonyme, avec un seul membre pour un enregistrement complet, idiot.
- Vous n'avez pas non plus besoin d'expression de LINQ du tout, utilisez simplement
tolist () code> sur le DBSet code> directement. LI>
ul> li>
- stocker le résultat dans une variable statique. LI>
xxx pré> ul>
Supprimer le "nouveau {A}" et remplacez-le par "A", et dites TOLIST que c'est une liste d'objets.
var table = (from a in context.tblFingerprints select a).ToList<object>();
Quel est le type de données de
context.tblfingerprints code>?
Les bases de données sont conçues pour être interrogées, avez-vous rencontré un problème de performance?
@MichaElrandall Eh bien, comme ma base de données grandit, il faut beaucoup plus de temps pour récupérer et comparer une empreinte digitale contre des milliers d'enregistrements.