Linq-to-SQL 查询 returns 错误 "Invalid Cast"

Linq-to-SQL query returns error "Invalid Cast"

这是我的代码,returns 文章列表并将它们显示在列表框中。奇怪的是,它在 Visual Studio 2019 年工作正常,但 returns 出错

Invalid cast

在 Visual Studio 2017 年!

错误发生在ArtListBox.Itemssource...

private void GetArticles()
{
    DataClasses1DataContext dc = new DataClasses1DataContext();

    IOrderedQueryable<FICHES_ARTICLES> art = (from a in dc.PESEES
                                              join p in dc.FICHES_ARTICLES on a.ART_CODE equals p.ART_CODE
                                              where a.PESEE_ST == 0
                                              select p).Distinct().OrderBy(x => x.ART_LIBELLE1);

    ArtListBox.ItemsSource = art;
    ArtListBox.DisplayMemberPath = "ART_LIBELLE1";
    ArtListBox.SelectedValuePath = "ART_CODE";
}

有人可以帮我解决这个错误吗?非常感谢。

根据您的评论 ArtListBox.ItemsSource 属于 string 类型,因此您需要将字符串值分配给 ItemsSource 属性

IOrderedQueryable<FICHES_ARTICLES> art = (from a in dc.PESEES
                                              join p in dc.FICHES_ARTICLES on a.ART_CODE equals p.ART_CODE
                                              where a.PESEE_ST == 0
                                              select p).Distinct().OrderBy(x => x.ART_LIBELLE1);
ArtListBox.ItemsSource = art.FirstOrDefault();

FirstOrDefault() will return first element of sequence which stratify a.PESEE_ST == 0, or a default value if no element found.