Ich werde zuerst Code zeigen, und dann versuche ich zu sagen, was ich will.LINQ Elemente auswählen Liste der Listen
Grundsätzlich möchte ich meinen Thread mit Themen, aber ich brauche nicht alle Themen, ich brauche nur "nicht Werbung" Themen. Das funktioniert für mich, aber ich fühle, dass ich das mit einer Bitte machen kann, aber ich weiß nicht wie.
Ich versuchte dies, aber es funktioniert nicht:
Thread thread = db.Threads
.AsNoTracking()
.Where(x=>x.Name == name)
.Select(x=> new Thread
{
Topics = x.Topics.Select(x=>x.PinType != PinType.Advertisement)
});
Modelle:
class Thread {
int ThreadId {get;set;}
ICollection<Topic> Topics {get;set;}
}
class Topic {
int TopicId {get;set;}
int ThreadId {get;set;}
Thread Thread {get;set;}
PinType PinType {get;set;}
}
Zeigen Sie Ihre Modelle würde helfen, Ihre Beziehungen zu verstehen (und SO ist keine soziale Chat-Website :) –
Nein, das wird nicht funktionieren. Ich kann Topics.PinType nicht verwenden, da Topics is Collection ist, brauche ich Topic, um PinType zu überprüfen. – Evgenii
Dann müssten Sie eine '.Where (x => x.Topics.Any (y => y.PinType! = PinType.Advertisement)) ' –