繁体   English   中英

如何使用linq从SQL数据库填充DropDownList,只选择Distinct Values

[英]How to populate a DropDownList from a SQL database using linq and only select Distinct Values

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

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

当DropDownBox被填充时,我需要它来填充分数但只填充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.

您将返回RiskPriorityScore列表。 如果那些包含任何其他属性,那么Distinct()将不会给你你想要的。 将您的选择限制为只想放入下拉列表中的值。 像这样的东西:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM