Ich möchte zwei Listen mit Objekten aus zwei verschiedenen Klassen vergleichen. Dies sind die Klassen:Liste mit Ausnahme von zwei verschiedenen Klassen Instanzen
namespace AngularWebApplication.Models
{
public class AggregationLevelConfigurationPresentation
{
public byte AggregationLevelConfigurationId { get; set; }
public int ProductionOrderId { get; set; }
public string Name { get; set; }
[ ... ]
}
}
public class AggregationLevelConfiguration : IEquatable<AggregationLevelConfiguration>
{
public byte AggregationLevelConfigurationId { get; set; }
public int ProductionOrderId { get; set; }
public string Name { get; set; }
[ ... ]
}
Ich möchte die Elemente in presentations
Liste erhalten, die nicht in currentLevels
:
Liste Präsentationen; Liste currentLevels;
List<Models.AggregationLevelConfigurationPresentation> newLevels =
presentations
.Select(l => new { l.AggregationLevelConfigurationId, l.ProductionOrderId })
.Except(currentLevels.Select(l => new { l.AggregationLevelConfigurationId, l.ProductionOrderId }))
.ToList();
Aber ich bekomme die folgende Fehlermeldung, wenn ich das tun Except
:
Error CS0029 Cannot implicitly convert type
'System.Collections.Generic.List<<anonymous type: byte AggregationLevelConfigurationId, int ProductionOrderId>>' to
'System.Collections.Generic.List<AngularWebApplication.Models.AggregationLevelConfigurationPresentation>'
denke ich, das Problem in den new { l.AggregationLevelConfigurationId, l.ProductionOrderId }
ist, aber ich weiß nicht, wie die Except
mit Liste von Objekten zu tun aus verschiedene Klassen.
Ich brauche die Objekte in presentations
Liste, die sie nicht in currentLevels
AggregationLevelConfigurationId
und ProductionOrderId
als Primärschlüssel.
könnte versuchen, den Titel neu formulieren? Ich konnte keinen Sinn daraus machen, bis ich die Frage gelesen hatte. – Fildor
Sie wählen anonyme Typen aus. Warum erwarten Sie, dass 'ToList' eine' List 'erstellt? –
@TimSchmelter Ich erwarte eine 'List'. –
VansFannel