Asp.net Linq select带有where查询逻辑错误
我得到的逻辑错误是打印出相同的结果,而不是唯一的记录 这是我的代码:Asp.net Linq select带有where查询逻辑错误,asp.net,sql,sql-server,linq,c#-4.0,Asp.net,Sql,Sql Server,Linq,C# 4.0,我得到的逻辑错误是打印出相同的结果,而不是唯一的记录 这是我的代码: public List<castName> getCharactersById(int moveId) { var tCast = db.GetTable<castName>(); var query = tCast.Where(m => (m.Id == moveId)).Distinct(); var list = new List<c
public List<castName> getCharactersById(int moveId)
{
var tCast = db.GetTable<castName>();
var query = tCast.Where(m => (m.Id == moveId)).Distinct();
var list = new List<castName>(query);
return list;
}
linq查询结果错误
它应该打印此结果
什么是
GetTable
方法?您的LINQ提供商是什么?实体框架?LINQ到实体?能否输出为查询生成的SQL?请显示castName的类定义。如何比较相等性?@andyp-比较是通过linq查询完成的,不仅仅是Distinct()。ToList()?Distinct()使用默认的相等性比较器,因此我猜您的重复castName实例不相等。见备注部分的最后几段:
[Table]
public class castName
{
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int Id { get; set; }
[Column]
public string castname { get; set; }
[Column]
public string castrole { get; set; }
}