Linq to sql ASP.NET MVC2字典未使用动态索引更新
我正在开发一个搜索引擎,它可以对数据库项进行参数化评分。因此,我设置了一个评分类,允许管理员管理和返回特定项目的分数。例如,假设我正在给计算机打分。如果有人在搜索表单中选择了特定数量的RAM,我希望匹配的分数高于接近匹配的分数 该类允许根据数据库项的ID添加分数作为索引:Linq to sql ASP.NET MVC2字典未使用动态索引更新,linq-to-sql,asp.net-mvc-2,Linq To Sql,Asp.net Mvc 2,我正在开发一个搜索引擎,它可以对数据库项进行参数化评分。因此,我设置了一个评分类,允许管理员管理和返回特定项目的分数。例如,假设我正在给计算机打分。如果有人在搜索表单中选择了特定数量的RAM,我希望匹配的分数高于接近匹配的分数 该类允许根据数据库项的ID添加分数作为索引: public class ScoringMechanism { // Dictionary that holds scores private Dictionary<int, int> _score
public class ScoringMechanism {
// Dictionary that holds scores
private Dictionary<int, int> _scores;
public ScoringMechanism() {
this._scores = new Dictionary<int, int>();
}
public AddOrUpdate(int id, int score) {
if (_scores.ContainsKey(id)) {
_scores[id] += score;
} else {
_scores.Add(id, score);
}
}
}
我在代码中注意到的是:当通过computer.ID变量动态更新分数时,分数不会更新。但是,当我显式声明一个id时,它会更新
本质上,它是有效的。您确定
computer.ID
不是0吗?一般来说,您可以在调试器中单步执行该代码,并查看传递的值。是的,我可以提取数据库中所有项的记录。此外,我刚刚注意到有一个实例可以使用它。但问题之一是,我不明白为什么在那个特定的区域它能工作,而在我没有设置任何条件的情况下它却不能工作。
scores.AddOrUpdate(15, 25);
scores.AddOrUpdate(15, 25);