0

我有一个使用 linq 从数据库获取数据的类,然后是另一个将检索到的数据从列填充到 DropDownBox 的类。我从数据库中检索的数据类型是整数。

分数列具有以下值 1 1 2 3 4 1 2 2

当 DropDownBox 被填充时,我需要它来填充分数,但只填充 distinct()

执行此操作时我没有收到任何错误,但是 distinct 不起作用

这是我获取数据的 linq 代码

public static IEnumerable<RiskPriorityScore> GetRiskPriorityScores()
    {
        var Scores = (from s in db.RiskPriorityScores
                      orderby s.Score
                      select s).Distinct().ToList();

        return Scores;

    }

数据仍然被填充,但我仍然得到重复。

这是我用来将我的数据绑定到 DropDownBox 的代码

protected void cboRiskPriorityScore_ItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e)
    {
        cboRiskPriorityScore.DataSource = iThNkPOCO.Models.RiskPriorityScore.GetRiskPriorityScores();
        cboRiskPriorityScore.DataBind();
    }

我已经相应地修改了我的代码但是当应用程序正在运行并且我单击 DropDownbox 时,我收到了这个错误

Object of type System.Int32 does not have a Score property.
4

1 回答 1

2

You are returning a list of RiskPriorityScore. If those contain any other property then Distinct() would not give you what you want. Limit your selection to only the value you want to put in the dropdown. Something like this:

public static List<int> GetRiskPriorityScores()
{
    var Scores = (from s in db.RiskPriorityScores
                  orderby s.Score
                  select s.Score).Distinct().ToList();
}
于 2013-04-26T21:14:51.610 回答