3
나는 내 말끔 ORM에 다음과 같은 복잡한 모델의 설정을 가지고 있으며 계속 거부 :는 말끔 ORM 복잡한 객체를 지속하기
The member PostData of type Foobar.Models.PostData cannot be used as a parameter value
나는 내 말끔 ORM에 다음과 같은 복잡한 모델의 설정을 가지고 있으며 계속 거부 :는 말끔 ORM 복잡한 객체를 지속하기
The member PostData of type Foobar.Models.PostData cannot be used as a parameter value
시도 :
const string sqlQuery = "INSERT INTO Reports (created_at, post_name) VALUES (@CreatedAt, @PostData.PostName)";
_connection.Execute(sqlQuery, report);
namespace Foobar.Models
{
public class Report
{
public int Id { get; set; }
public DateTime CreatedAt { get; set; }
public PostData PostData { get; set; }
}
public class PostData
{
public string title { get; set; }
public double index { get; set; }
}
}
이 내가지고있어 오류입니다 익명 객체 사용 :
const string sqlQuery =
"INSERT INTO Reports (created_at, post_name) VALUES (@CreatedAt, @PostName)";
_connection.Execute(sqlQuery, new { CreatedAt = report.CreatedAt,
PostName = report.PostData.PostName });
당신이 가지고있는 것에 대한 문제는 당신이 효과적으로 012를 통과하려고 시도한다는 것입니다은 PostData.PostName
이라는 SQL 매개 변수 값으로 사용됩니다.
"@parameter"
구문은 원시 SQL이며 Dapper 자체의 기능이 아닙니다. SQL 매개 변수 이름을 전달한 오브젝트에 대한 표현식으로 해석하는 것과 관련된 맵핑 프로세스의 단계는 없습니다. 매핑은 단순히 매개 변수 이름을 속성 이름과 일치시키고 전달한 객체에서 해당 값을 삽입하여 작동합니다.
그런 식의 표현은 dapper가 지원하지 않습니까? – vinnylinux
@vinnylinux 나는 나의 대답에서 더 설명하려고 노력했다. –
해당 개체를 선택할 때 동일한 작업을 수행할까요? – vinnylinux