Streamaccessors >> Can SharePoint 2010 BCS возвращает несколько вложений?
-
09-12-2019 - |
Вопрос
Can CharePoint 2010 BCS возвращает несколько вложений?У меня есть база данных, которая хранит несколько вложений на объект.Хотелось бы, чтобы все они были доступны, но у меня недостаточно опыта с BCS / BDC, чтобы сказать, возможно ли это возможно.
Решение
Да, вы можете иметь номер вложений с помощью метода StreamaCcessor.Смотрите код ниже, который имеет два метода.Один для подъема основного документа и других для подбора дополнительного документа.В коде позади вы можете использовать ту же функцию для возврата объекта потока.Дайте мне знать, если вам нужна дополнительная помощь, поскольку я уже много раз реализовал.
<!-- 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 -->
. Другие советы
Если «несколькими вложениями на объект» вы имеете в виду, что у вас есть несколько бинарных столбцов в таблице SQL, то я предлагаю вам попробовать создавать методы Streamaccessor в вашей модели BCS для каждого столбца, подробности см. Рекомендацию: