(Mã này được sử dụng Dapper Dot Net trong C#)tham số động Dapper ném một SQLException "phải xác định biến vô hướng" khi không sử dụng đối tượng ẩn danh
Mã này hoạt động:
var command = "UPDATE account SET priority_id = @Priority WHERE name = @Name";
connection_.Execute(command, new { Name = "myname", Priority = 10 });
Mã này ném một SqlException:
class MyAccount
{
public string Name;
public int Priority;
}
var command = "UPDATE account SET priority_id = @Priority WHERE name = @Name";
var acct = new MyAccount { Name = "helloworld", Priority = 10 };
connection_.Execute(command, acct);
System.Data.SqlClient.SqlException: Phải khai báo các biến vô hướng "@Priority".
Tại sao?
Thú vị; chúng tôi xem xét các lĩnh vực cho việc thực hiện, vì vậy có thể nó là một chút không nhất quán mà chúng tôi không cho phép sau đó (công chúng, ít nhất), cho parameterisation. Meh ... Bạn đang phải mặc dù - tầm thường để giải quyết bằng cách sử dụng đúng tài sản. –
@MarcGravell dường như vi phạm nguyên tắc ít ngạc nhiên nhất. Tôi muốn bỏ phiếu để thay đổi hành vi hoặc ghi lại yêu cầu. –