Linq Weg zu unnafsten Arrays

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Linq Weg zu unnafsten Arrays

by Guest » 10 Feb 2025, 10:04

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 ?

Top