Maison > développement back-end > C++ > Pourquoi mon linq to entités requête-t-il 'L'entité ne peut pas être construite dans une requête LINQ à entités'?

Pourquoi mon linq to entités requête-t-il 'L'entité ne peut pas être construite dans une requête LINQ à entités'?

Barbara Streisand
Libérer: 2025-02-01 14:46:11
original
415 Les gens l'ont consulté

Why Does My LINQ to Entities Query Throw

Linq aux entités Erreur de requête: "Impossible de construire des entités dans linq aux entités requête"

Lors de l'utilisation du cadre d'entité, assurez-vous de vérifier les anomalies qui peuvent se produire pendant le processus d'exécution. Une erreur courante est "Construire des entités dans la requête LINQ vers les entités", cette erreur se produit lors de la tenue de projeter le résultat de la requête aux entités périphériques.

La raison de l'erreur

dans un fragment de code donné, requête:

Essayez de projeter les résultats de la requête sur une nouvelle instance de l'entité du produit. Cependant, dans la requête LINQ à entités, l'entité ne peut pas être construite ou reconstruite, car l'objet de l'objet est géré par ORM.

from p in db.Products
where p.CategoryID == categoryID
select new Product { Name = p.Name };
Copier après la connexion
<决> Solution: Utilisez un type anonyme ou DTO

Afin de surmonter cette erreur et d'effectuer une option personnalisée, vous pouvez utiliser un type anonyme ou un objet de transmission de données (DTO). Le type anonyme est un type de dénomination temporaire qui peut enregistrer un ensemble d'attributs, tandis que DTO est une classe personnalisée qui indique un objet de domaine spécifique. <建> Créer dto

Dans cet exemple, comme vous n'avez besoin que de l'attribut de nom, vous pouvez créer du DTO de la manière suivante:

<改> Modifier l'enquête à projeter sur DTO

Avec le DTO, vous pouvez désormais modifier l'enquête pour le projeter sur le DTO:
public class ProductDTO
{
    public string Name { get; set; }
}
Copier après la connexion

Grâce à la projection du DTO, vous pouvez récupérer avec succès les données et éviter "l'erreur" Construire l'entité dans LINQ à l'enquête des entités ".

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal