Translate Array[][].Contains(x.<array property>)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 28/100
Piste de recherche
This is a query-translation gap in the Npgsql EF Core provider for nested int[] compared with SequenceEqual, Contains, or Join. Reproduce with the Part entity and the three snippets in the issue against Npgsql.EntityFrameworkCore.PostgreSQL 9.0.4; the errors mention unnest(... ) WITH ORDINALITY lacking a type mapping. Start from how array and nested-array type mappings are applied in the SQL tree, then add coverage for Contains/SequenceEqual/Join of array-of-array parameters. Done when those LINQ shapes translate and execute without the mapping exceptions.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I encountered another issue regarding arrays.
I have a class with an array property:
public class Part {
public int Id { get; set; }
public int[] TaxonomyPath { get; set; }
}
Now I want to query for all Parts where TaxonomyPath is in [[1, 2], [4,7], [3,9]]:
int[][] expected = [[1, 2], [4,7], [3,9]];
await dbContext.Parts
.Where(x => expected.Any(e => x.TaxonomyPath.SequenceEqual(e)))
.ToArrayAsync();
This throws:
Expression 'unnest(@__existing_0) WITH ORDINALITY AS e(value)' in the SQL tree does not have a type mapping assigned.
When I change SequenceEqual to == it throws:
Couldn't find array type mapping when applying item/array mappings
Same when using Where(x => expected.Contains(x.TaxonomyPath).
Also when joining (which is the actual goal):
int[][] expected = [[1, 2], [4,7], [3,9]];
await dbContext.Parts
.Join(expected,
x => x.TaxonomyPath,
x => x,
(p, _) => p)
.ToArrayAsync();
It throws:
Expression 'unnest(@__p_0) WITH ORDINALITY AS p(value)' in the SQL tree does not have a type mapping assigned.
I am using Npgsql.EntityFrameworkCore.PostgreSQL 9.0.4.
- Langage dominant
- C#
- Étoiles
- 1.8k
- Forks
- 268
- Merge moyen
- 2 h 35 min
- PR mergées (30 j)
- 136
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de npgsql/efcore.pg
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
NTS: the M ordinate is dropped from geometry SQL literals and from geometries stored in JSONPeut-être pris @Ahmed7991 l’a pris il y a 5 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
npgsql/efcore.pg#4093 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
`TimeSpan`/`Duration` component members: negative values are floored, and intervals computed in SQL are read field by fieldPeut-être pris @jeremy-morren l’a pris il y a 11 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
Numeric storage parameters are formatted with the current culture, so migrations emit 0,01 instead of 0.01Peut-être pris @Sorbitol l’a pris il y a 12 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 30/100
Les mainteneurs répondent en général sous 1 jour
-
`Contains` on a JSON primitive collection compares JSON text, so `DateTime` and `TimeOnly` items never matchPeut-être pris @Mr444-dev l’a pris il y a 7 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
npgsql/efcore.pg#4099 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de npgsql/efcore.pg
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
[Feature]: Add Ukrainian (Українська) as a target language for the Translator (Ollama) engineOuverteenhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
KnifeLemon/Filee#1344 ·
Les mainteneurs répondent en général sous 1 jour
-
Issue-Bug Needs-Triage
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
JiaFeiMiao-K-Cat/DiscImageStudio#281 ·
Les mainteneurs répondent en général sous 1 jour
-
bug triage
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100