다음과 같은 결과 세트가 있습니다.
ID (no column name) anotherID
---- ---------------- ----------
1 super 3
1 super 4
3 duper 6
4 really 7
4 really 8
2 가지 문제가 있습니다.
첫 번째 : 이름이없는 열과 함께 dapper를 사용하려면 어떻게해야합니까?
둘째 : 나는 부모 자식 관계를 가지기 때문에 anotherID의 목록을 가진 각각 3 개의 객체를 얻습니다.
public class MyObject
{
public int ID
public string Name
public int[] Children
}
음, 이름이 지정되지 않은 열은 dapper에서 지원하지 않습니다. 나는 그 (것)들을위한 이유를 결코 진짜로 보지 않았다.
나는 우리가 다음을지지 할 수 있다고 생각한다.
class Foo { [ColumnNumber(1)] public string Name {get;set;} }
문제는 그에게 지시를 전달하는, 난 강력하게 싫어하는 쿼리의 매우 깨지기 쉬운 방법을 소개하고 있다는 점이다 Query
와 마찬가지로 투박하다.
그러나 결과를 얻는 방식을 변경하면 기꺼이 해결할 수 있습니다.
var grid = QueryMultiple(@"set nocount on
declare @t table(Id int, Name nvarchar(max), AnotherId int)
insert @t
exec proc
set nocount off
select Id, Name from @t
select Id, AnotherId from @t
");
그런 다음 멀티 맵 에이 기술을 사용하십시오 : 객체 계층 구조를 만드는 멀티 매퍼