내가 사용하고있는 것들 중 하나는 데이터베이스에서 XML 데이터를 문자열로 변환 한 다음 필요한 방식으로 주어진 객체 내에서 직렬화 해제하는 것입니다.dapper가 XML 데이터를 문자열 목록으로 분할합니까?
오늘 나는 dapper가 XML이 포함 된 문자열 목록을 반환 한 곳을 발견했습니다. 이것은 의도 된 것입니까? 단일 문자열 xml이 반환 될 것으로 예상되면이 코드를 사용해야합니까?
다음은 proc을 호출하는 방법이며 proc을 실행하면 XML 데이터가 포함 된 단일 결과를 반환하지만 dapper는 결과에 2 개의 문자열을 반환합니다. 만약 내가 그들을 연결하면, 내가 기대하는 바를 얻었지만, 이것은 내가 결합시켜야하는 것처럼 보이지 않습니다.
var result = conn.Query<string>(procName, parameters, commandType: CommandType.StoredProcedure);
편집 : 주석 요청 당 반환되는 저장 프로 시저 및 예제 데이터입니다. 이는 XML 데이터가 특정 크기에 도달하면 발생합니다. XML 데이터가 작을수록 이러한 일이 발생하지는 않습니다. 여기에 제공된 예제는 데이터를 발생시키는 데 충분한 데이터 여야합니다. 저장 프로 시저에서 XML을 읽을 수
usp_ListAllGroups
SELECT
(SELECT ClassificationItemID AS '@ID', GroupCN AS '*'
FROM UserGroup WITH (NOEXPAND)
FOR XML PATH('Group'), TYPE)
FOR XML PATH('Groups');
결과 XML
<Groups>
<Group ID="4">SomeGroupName</Group>
<Group ID="9">SomeGroupName</Group>
<Group ID="2">SomeGroupName</Group>
<Group ID="553">SomeGroupName</Group>
<Group ID="447">SomeGroupName</Group>
<Group ID="435">SomeGroupName</Group>
<Group ID="395">SomeGroupName</Group>
<Group ID="489">SomeGroupName</Group>
<Group ID="468">SomeGroupName</Group>
<Group ID="408">SomeGroupName</Group>
<Group ID="455">SomeGroupName</Group>
<Group ID="443">SomeGroupName</Group>
<Group ID="524">SomeGroupName</Group>
<Group ID="414">SomeGroupName</Group>
<Group ID="430">SomeGroupName</Group>
<Group ID="423">SomeGroupName</Group>
<Group ID="511">SomeGroupName</Group>
<Group ID="482">SomeGroupName</Group>
<Group ID="154">SomeGroupName</Group>
<Group ID="236">SomeGroupName</Group>
<Group ID="244">SomeGroupName</Group>
<Group ID="367">SomeGroupName</Group>
<Group ID="547">SomeGroupName</Group>
<Group ID="134">SomeGroupName</Group>
<Group ID="309">SomeGroupName</Group>
<Group ID="26">SomeGroupName</Group>
<Group ID="128">SomeGroupName</Group>
<Group ID="335">SomeGroupName</Group>
<Group ID="322">SomeGroupName</Group>
<Group ID="164">SomeGroupName</Group>
<Group ID="190">SomeGroupName</Group>
<Group ID="30">SomeGroupName</Group>
<Group ID="121">SomeGroupName</Group>
<Group ID="276">SomeGroupName</Group>
<Group ID="260">SomeGroupName</Group>
<Group ID="83">SomeGroupName</Group>
<Group ID="71">SomeGroupName</Group>
<Group ID="591">SomeGroupName</Group>
<Group ID="358">SomeGroupName</Group>
<Group ID="179">SomeGroupName</Group>
<Group ID="113">SomeGroupName</Group>
<Group ID="148">SomeGroupName</Group>
<Group ID="299">SomeGroupName</Group>
<Group ID="209">SomeGroupName</Group>
<Group ID="229">SomeGroupName</Group>
<Group ID="8">SomeGroupName</Group>
<Group ID="54">SomeGroupName</Group>
<Group ID="40">SomeGroupName</Group>
<Group ID="3">SomeGroupName</Group>
<Group ID="1">SomeGroupName</Group>
</Groups>
Dapper Streaming API와 관련이 있다고 생각합니다. 저장 프로 시저에 대한 자세한 정보를 제공 할 수 있습니까? – supertopi
@supertopi가 답변을 업데이트하여 자세한 정보를 포함 시켰습니다. – akousmata
어떤 데이터베이스를 사용하고 있습니까? Dapper는 그렇게해서는 안됩니다. 하지만 데이터베이스 자체가 될 수도 있습니다. –