.execute(sQuery,...)返回整数
string sQuery = "SELECT FirstName FROM Customers WHERE Id = @Id";
我该如何实现以返回名字
答案 0 :(得分:3)
Execute 是一种扩展方法,可以从任何类型为
IDbConnection
的对象中调用。它可以执行一次或多次执行命令,并返回受影响的行数。
强调我的
执行不能用于您的要求。
使用基于Query*
的电话之一来获得理想的结果
例如
string sQuery = "SELECT FirstName FROM Customers WHERE Id = @Id";
using (var connection = new SqlCeConnection("connection string")) {
var firstName = connection.QueryFirstOrDefault<string>(sQuery, new { Id = 1 });
//...
}
答案 1 :(得分:3)
要使用Asp.Net Core和Dapper执行查询,请尝试将SqlConnection
与Query
一起使用。
这里是完整的代码。
using Dapper;
public class CustomersController : Controller
{
private readonly ApplicationDbContext _context;
private readonly IConfiguration _configuration;
public CustomersController(ApplicationDbContext context
, IConfiguration configuration)
{
_context = context;
_configuration = configuration;
}
// GET: Customers/Details/5
public async Task<IActionResult> Details(int? id)
{
using (var connection = new SqlConnection(_configuration.GetConnectionString("DefaultConnection")))
{
string sQuery = "SELECT Name FROM Customer WHERE Id = @Id";
var customer = connection.QueryFirstOrDefault<string>(sQuery, new { Id = id});
}
//Rest Code
}