我有一个类使用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.
答案 0 :(得分:2)
您将返回RiskPriorityScore
的列表。如果那些包含任何其他属性,那么Distinct()
将无法提供您想要的内容。将您的选择限制为只想放入下拉列表中的值。像这样:
public static List<int> GetRiskPriorityScores()
{
var Scores = (from s in db.RiskPriorityScores
orderby s.Score
select s.Score).Distinct().ToList();
}