Ich habe eine Tabelle in einem Postgres -DB mit einer String [] -Spalte für Tags. Ich möchte jetzt alle unterschiedlichen Tags bekommen. Mein erster Ansatz war ein. SelectMany (d => d.tags) .distinct () , wich führt zu einem Fehler, den der Linq -Ausdruck 'D => D.Tags' nicht übersetzt werden konnte. Schreiben Sie entweder die Abfrage in einem Formular um, das übersetzt werden kann, oder wechseln Sie ausdrücklich auf die Kundenbewertung, indem Sie einen Aufruf an "Assenumerable", "asasyncenumerable", "Tolist" oder "Tolistasync" einfügen.
Die Lösung, mit der ich mich jetzt ausgedacht habe, ist: < /p>
var tagsArrays = await _context.MyTable
.Select(d => d.Tags)
.ToListAsync();
var knownTags = tagsArrays
.SelectMany(a => a)
.Distinct()
.ToList();
< /code>
Offensichtlich wird dies jetzt in der Client -Seite geschehen. Ich weiß, dass ich einfach SQL und unnafell verwenden könnte, aber nirgendwo sonst wird im Code SQL verwendet, also wollte ich dies vermeiden. < /P>
Ist es möglich ?
Linq Weg zu unnafsten Arrays ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post