이것은 Dapper 쿼리 결과를 2 차원 배열로 변환하는 데 사용할 수있는 최소한의 코드입니까?
var array =
cn.Query(@"SELECT Id, Desc FROM Things")
.Select<object, ArrayList>(d =>
{
return new ArrayList {((dynamic) d).Id, ((dynamic) d).Desc };
});
기본적으로 다음과 같이 json 응답으로 반환 될 결과를 생성합니다.
[
[1, "Thing one"],
[2, "Thing two"],
[3, "Thing two"],
]
다음을 사용하여 array
:
string json = Newtonsoft.Json.JsonConvert.SerializeObject(array);
올바른 결과를 가져와 작업을 수행합니다. 바로 가기가 있는지 궁금합니다.
Dapper
구문에 대해서는 잘 모르겠지만 ArrayList
를 삭제하는 대신 object[]
를 select 내부에서 반환하고 끝에 ToArray()
를 호출합니다.
var array =
cn.Query(@"SELECT Id, Desc FROM Things")
.Select(d => new object[] { d.Id, d.Desc })
.ToArray();
이것은 당신에게 object[,]
를 줄 것입니다.
dynamic[,]
의 결과가 마음에 들지 않는다면 더 짧은 버전을 사용할 수 있습니다. 실제 배열 유형을 지정하는 것을 생략합니다 :
.Select(d => new [] { d.Id, d.Desc })