Maison >base de données >tutoriel mysql >Erreur LINQ to SQL : « Impossible de trouver une implémentation du modèle de requête » : comment puis-je y remédier ?

Erreur LINQ to SQL : « Impossible de trouver une implémentation du modèle de requête » : comment puis-je y remédier ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-04 02:28:39359parcourir

LINQ to SQL Error:

Erreur de requête LINQ : impossible de trouver l'implémentation

Dans une application Silverlight, une requête LINQ to SQL sur une table "tblPersoon" rencontre le erreur "Impossible de trouver une implémentation du modèle de requête". Cette erreur se produit lors de l'utilisation de la syntaxe (from...where...select).

Cause :

L'erreur provient généralement de deux problèmes possibles :

  1. Utilisation de l'espace de noms LINQ manquante (à l'aide de System.Linq)
  2. Le type interrogé n'implémente pas IEnumerable

Solution :

1. Assurer l'utilisation de l'espace de noms :

Ajouter l'espace de noms nécessaire :

using System.Linq;

2. Implémentez IEnumerable :

Pour la sécurité des types, LINQ exige que l'objet interrogé implémente IEnumerable. Si tblPersoons ne l'implémente pas, convertissez-le en un type qui le fait, tel que :

var query = (from p in tblPersoon.Cast<Person>() select p).Single();

Considérations supplémentaires :

  • Interrogez plutôt la propriété tblPersoons du type tblPersoon.
  • Créez une instance du contexte (par exemple, DataClasses1DataContext) et utilisez-le pour récupérer la propriété tblPersoons.

Solution modifiée :

public tblPersoon GetPersoonByID(string id)
{
    var context = new DataClasses1DataContext();
    var query = context.tblPersoons.Where(p => p.id == id).Single();
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn