c # Dapper - sử dụng linq trên phương thức QueryAsync
Sep 01 2020
Tại sao tôi không thể sử dụng .select trên queryAsync khi nó hoạt động tốt trên Query? Ví dụ: ở đây, .select hét vào mặt tôi rằng nó không thể giải quyết biểu tượng "select":
var result = await sqlConnection.QueryAsync<Product>(procedure,
commandType: CommandType.StoredProcedure).Select(p => new Product
{
Code= (string)p.fldCode,
Name=(string)p.fldName
});
nhưng ngay sau khi tôi chuyển sang Truy vấn, nó sẽ không kêu nữa. nếu có bất cứ điều gì nó gặp khó khăn khi giải quyết các cột fldCode từ sp:
var result = sqlConnection.Query<Product>(procedure,
commandType: CommandType.StoredProcedure).Select(p => new Product
{
Code= (string)p.fldCode,
Name=(string)p.fldName
});
tại sao đây?
Tôi đã hỏi một câu hỏi trước đây tại đây C # Dapper ánh xạ các cột thành thuộc tính thực thể - "Không thể giải quyết biểu tượng 'Chọn'"
Trả lời
1 Milney Sep 01 2020 at 09:06
Các phương thức không đồng bộ trả về một Tác vụ (về cơ bản là một trình giữ chỗ cho kết quả cuối cùng của hành động không đồng bộ). Bạn cần phải đợi nó để nhận được giá trị thực tế
var result = (await sqlConnection.QueryAsync<Product>(
procedure,
commandType: CommandType.StoredProcedure
)).Select(p => new Product
{
Code= (string)p.fldCode,
Name=(string)p.fldName
}
);