Stanamaccessori >> Can SharePoint 2010 BCS restituire più allegati?
-
09-12-2019 - |
Domanda
Can SharePoint 2010 BCS restituisce più allegati?Ho un database che memorizza più allegati per entità.Vorrei avere tutti accessibili, ma ho un'esperienza insufficiente con BCS / BDC per dire se questo è possibile o meno.
Soluzione
Sì, puoi avere n Numero di allegati utilizzando il metodo SminandAccessor.Vedi il codice qui sotto che ha due metodi.Uno per raccogliere il documento principale e altro per raccogliere il documento aggiuntivo.Nel codice dietro di te può utilizzare la stessa funzione per restituire l'oggetto stream.Fammi sapere se hai bisogno di ulteriore assistenza perché ho già implementato molte volte.
<!-- start document StreamAccessor method -->
<Method Name="ReadDocumentLink" IsStatic="false" LobName="ReadDocumentLink" IsCached="true">
<Parameters>
<Parameter Direction="In" Name="@Id">
<TypeDescriptor TypeName="System.Int32" IdentifierName="ID" Name="ID" />
</Parameter>
<Parameter Name="StreamData" Direction="Return">
<TypeDescriptor Name="StreamData" TypeName="System.IO.Stream" />
</Parameter>
</Parameters>
<MethodInstances>
<MethodInstance Type="StreamAccessor" ReturnParameterName="StreamData" ReturnTypeDescriptorPath="StreamData" Default="true" Name="MainDataStream" DefaultDisplayName="Document">
<Properties>
<Property Name="MimeTypeField" Type="System.String">DocumentMimeType</Property>
<Property Name="FileNameField" Type="System.String">DocumentFileName</Property>
<Property Name="Extension" Type="System.String">DocumentExtension</Property>
</Properties>
</MethodInstance>
</MethodInstances>
</Method>
<!-- end document StreamAccessor method -->
<!-- start document StreamAccessor method -->
<Method Name="ReadAdditionalDocumentLink" IsStatic="false" LobName="ReadAdditionalDocumentLink" IsCached="true">
<Parameters>
<Parameter Direction="In" Name="@Id">
<TypeDescriptor TypeName="System.Int32" IdentifierName="ID" Name="ID" />
</Parameter>
<Parameter Name="StreamData" Direction="Return">
<TypeDescriptor Name="StreamData" TypeName="System.IO.Stream" />
</Parameter>
</Parameters>
<MethodInstances>
<MethodInstance Type="StreamAccessor" ReturnParameterName="StreamData" ReturnTypeDescriptorPath="StreamData" Name="AdditionalDataStream" DefaultDisplayName="Additional Document">
<Properties>
<Property Name="MimeTypeField" Type="System.String">AdditionalDocumentMimeType</Property>
<Property Name="FileNameField" Type="System.String">AdditionalDocumentFileName</Property>
<Property Name="Extension" Type="System.String">AdditionalDocumentExtension</Property>
</Properties>
</MethodInstance>
</MethodInstances>
</Method>
<!-- end document StreamAccessor method -->
. Altri suggerimenti
Se da "più allegati per entità" si intende che tu abbia più colonne binarie in SQL Tabella, ti suggerisco di provare a creare metodi di Sminaccessore nel modello BCS per ogni colonna, vedere i dettagli qui: