Linq-to-SQL 查询返回错误"Invalid Cast"



这是我的代码,它返回文章列表并将其显示在列表框中。奇怪的是,它在Visual Studio 2019中工作正常,但返回错误

无效的铸造

在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()将返回序列的第一个元素 分层a.PESEE_ST == 0或默认值(如果找不到元素(。

最新更新