C# 这个序列包含几个简洁的元素

C# 这个序列包含几个简洁的元素,c#,sql,wcf,select,dapper,C#,Sql,Wcf,Select,Dapper,我正在使用Dapper检索我的选择请求的结果 List<dynamic> results = connection.Query("SELECT id_fonction from liste_personnels_fonctions where id_personnel = @id_personnel", new { id_personnel }).ToList(); List results=connection.Query(“从liste_personnels_fonction

我正在使用Dapper检索我的选择请求的结果

 List<dynamic> results = connection.Query("SELECT id_fonction from liste_personnels_fonctions where id_personnel = @id_personnel", new { id_personnel }).ToList();
List results=connection.Query(“从liste_personnels_fonctions中选择id_fonction,其中id_personals=@id_personals”,new{id_personals})。ToList();
但有时我有两个结果。当我使用
.SingleOrDefault()
返回多行时,我有一个异常:“序列包含多个元素”。当我使用
FirstOrDefault
时,我只有第一行,并且我需要这两行。。。 那我该怎么办?我尝试使用List和var[]检索结果,但不起作用

有什么想法吗?
谢谢。

如果你只想要一个Int列表,那就向Dapper索要

List<int> results = connection.Query<int("SELECT id_fonction from liste_personnels_fonctions where id_personnel = @id_personnel", new { id_personnel }).ToList();

List results=connection.Query
SingleOrDefault
如果存在多个异常,则抛出异常。这是故意的。如果您想第一次使用
FirstOrDefault
。如果需要(最多)两个,请使用
Take(2).ToList()
。如果需要,请使用
ToList()
。非常感谢!嗯,但是现在我不知道如何将这个结果检索到列表中。我有:List results=connection.Query(“从liste_personnels_fonctions中选择id_fonction,其中id_personals=@id_personals”,new{id_personals})。ToList();列表函数=新列表();foreach(结果中的动态r){var func=(int)r?.func;fonctions.Add(func);}以及执行var func=(int)r?.func;我的结果是:{dapperow,id_fonction='10'}}和{{dapperow,id_fonction='8'}}我只需要列出{10,8}(对不起,我不知道如何解释
Select(z=>z.id_fonction)。ToList()
因为
id_fonction
是列名。它太棒了。这就是它非常感谢的原因!