Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Linq select带有where查询逻辑错误_Asp.net_Sql_Sql Server_Linq_C# 4.0 - Fatal编程技术网

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; }

}