问题描述:ASP.NET MVC查询不显示唯一值。
解决方法:
Distinct()
方法来过滤重复的值。var result = dbContext.TableName.Distinct().ToList();
GroupBy()
方法进行分组,并选择每个组的第一个元素来获取唯一值。var result = dbContext.TableName.GroupBy(x => x.ColumnName).Select(x => x.First()).ToList();
GroupBy()
方法进行分组,并选择每个组的第一个元素来获取唯一值。var result = (from t in dbContext.TableName
group t by t.ColumnName into g
select g.First()).ToList();
Equals()
和GetHashCode()
方法来实现对象的唯一性。public class TableName
{
public int Id { get; set; }
public string ColumnName { get; set; }
public override bool Equals(object obj)
{
if (obj == null || GetType() != obj.GetType())
{
return false;
}
TableName other = (TableName)obj;
return Id == other.Id && ColumnName == other.ColumnName;
}
public override int GetHashCode()
{
return Id.GetHashCode() ^ ColumnName.GetHashCode();
}
}
var result = dbContext.TableName.Distinct().ToList();
请注意,在以上示例中,TableName
是模型类的名称,dbContext
是数据库上下文的实例,ColumnName
是需要去重的列名。将这些示例代码应用到你的项目中,可以解决ASP.NET MVC查询不显示唯一值的问题。