使用Dapper如何使用FirstOrDefault()函数

4

我有一个问题需要在Dapper查询中返回单个对象。我有一个简单的查询,想要从返回的集合中获取第一个对象。我错过了什么?

using (SqlConnection sqlConnection = new SqlConnection(GetConnectionString()))
{
    string query = @"select * from order";
    sqlConnection.Open();

    // Works
    var orders = sqlConnection.Query<OrderModel>(query);

    // Does Not Work ERROR: "does not contain a definition for 'FirstOrDefault' and 
    // no extension method 'FirstOrDefault' 
    // accepting a first argument of type 'System.Collections.Generic.IEnumerable<OrderModel>'"
    var order = sqlConnection.Query<OrderModel>(query).FirstOrDefault();                                                                        
}

你遇到了什么错误?你需要给我们更多的细节... - Marko
为什么你不用 select top 1 * ... 呢? - leppie
是的,我没有看到错误在你的注释中。正如下面的答案所述,您缺少了System.Linq命名空间引用... - Marko
1
FirstOrDefault 只是普通的 LINQ - 在顶部需要添加 using System.Linq; - Marc Gravell
Marko,我在我的代码注释中包含了错误。Leppie,很好的观点,这可能是我要做的事情。 - Rip
1个回答

10
您之所以出现此错误是因为您尚未添加命名空间。
using System.Linq

在你的CS文件中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接