获取项目!=已存在项目的结果列表

Bar*_*yle 3 c# linq list

我正在开发一个asp.net应用程序,我有以下列表:

public static List<SelectedSongKey_List> SelectedSongKeys(int songId)
{
    var db = new BMDWorshipEntities();
    var results = (from x in db.Keys
                   where x.SongId == songId
                   select x.ChordKey).ToList();

    var sortingOrder = new List<string>()
    {
        "Ab", "A", "Bb", "B", "C", "C#", "Db", "D", "Eb", "E", "F", "F#", "Gb", "G"
    };

    results = results.OrderBy(x => sortingOrder.IndexOf(x)).ToList();

    var skList = new List<SelectedSongKey_List>();
    foreach(var sk in results)
    {
        skList.Add(new SelectedSongKey_List()
        {
            SongKey = sk.Trim()
        }); 
    }

    return skList;
}
Run Code Online (Sandbox Code Playgroud)

此列表将填充包含所有现有的下拉列表ChordKeys:

现在我想创建一个包含所有ChordKeys(Chords都在其中sortingOrder)的列表,它还没有在db上存在.

results为了做到这一点,我可以写什么声明?

Ric*_*arg 8

您可以使用"除外条款"

var exceptedList = sortingOrder.Except(results).ToList();
Run Code Online (Sandbox Code Playgroud)