Maison > développement back-end > C++ > Comment puis-je exécuter des requêtes SQL brutes avec un classement dans le noyau de Framework Entity sans utiliser DBSET?

Comment puis-je exécuter des requêtes SQL brutes avec un classement dans le noyau de Framework Entity sans utiliser DBSET?

Linda Hamilton
Libérer: 2025-01-27 01:11:08
original
219 Les gens l'ont consulté

How Can I Execute Raw SQL Queries with Ranking in Entity Framework Core without Using DbSet?

Entity Framework Core : exécution de requêtes SQL brutes avec classement (sans DbSet)

La méthode dbData.Database.SqlQuery<somemodel> d'Entity Framework Core est obsolète, ce qui crée des difficultés lors de l'exécution de requêtes SQL brutes qui nécessitent à la fois un mappage et un classement des données. Bien que dbData.Product.FromSql("SQL SCRIPT") soit une option, il lui manque des capacités de mappage de classement.

Versions et solutions EF Core :

EF Core 8 et versions ultérieures : La méthode SqlQuery renvoie désormais des valeurs scalaires et prend en charge les types arbitraires, rendant les anciennes approches inefficaces.

EF Core 3.0 et versions ultérieures : Les types d'entités sans clé (anciennement appelés types de requêtes) fournissent une solution. Annotez votre classe avec [Keyless] et utilisez FromSqlRaw ou FromSql pour exécuter votre requête et mapper les résultats.

EF Core 2.1 et versions ultérieures : Les types de requêtes offrent une approche viable. Dans votre DbContext, définissez une propriété DbQuery<T> (où T représente le type des valeurs de colonne de votre requête SQL). Ensuite, utilisez la méthode FromSql comme vous le feriez avec DbSet<T>.

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