[英]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.