ECT searchable

Dupa crearea din Visual Studio a unui BDC Model ca sa poata fi searchable (sa-l indexeze Search-ul) mai trebuie niste proprietati.

Astfel la LOBSystemInstance mai trebuie adaugata o proprietate custom ShowInSearchUI de tipul System.String cu valoare ‘x’ de ex. La mine nu merge din Visual Studio sa o adaug la custom properties asa ca am deschis modelul cu XML Editor (click dreapta, Open with) si am adaugat la LOBSystemInstance (pe care l-am desfacut mai intai)

<LobSystemInstance Name=”ProductModel” DefaultDisplayName=”ProductModel”>
<Properties>
<Property Name=”ShowInSearchUI” Type=”System.String”>x</Property>
</Properties>

</LobSystemInstance>

Deasemeni mai trebuie proprietatile RootFinder si LastModifiedTimeStampField la ReadList. Asta la fel ca la prima nu am reusit din Visual Studio dar am scris la fel direct in model

<Method Name=”ReadList”>
<Properties>
<Property Name=”RootFinder” Type=”System.String”>x</Property>
<Property Name=”LastModifiedTimeStampField” Type=”System.String”>LastUpdated </Property>
</Properties>

si la MethodInstance mai jos

<MethodInstance Type=”Finder” ReturnParameterName=”returnParameter” Default=”true” Name=”ReadList” DefaultDisplayName=”Entity1 List”>
<Properties>
<Property Name=”RootFinder” Type=”System.String”>x</Property>
<Property Name=”LastModifiedTimeStampField” Type=”System.String”>LastUpdated</Property>
</Properties>
</MethodInstance>

Pnetru proprietatea LastModifiedTimeStampField ar trebui sa existe un camp in baza de date numit LastUpdate (sau alta denumire cu modificarea de rigoare mai sus) care sa-si schimbe valoarea la update.

Cica ar fi necesar ptr incremental search.

Eu nu l-am folosit inca, si nu l-am scris ca mai sus.

In cazul in care nu apar la crearea unui nou Content Source (necesar de facut) am deschis SSMS pe baza de date Bdc_Service….. si am rulat

EXEC sp_msforeachtable „ALTER TABLE ? NOCHECK CONSTRAINT all”
EXEC sp_MSForEachTable „DELETE FROM ?”
exec sp_msforeachtable „ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all”

ca sa curat baza de date

apoi IISRESET neaparat si din nou Deploy.

Chestiile astea toate nu sunt necesare daca se face un ECT din SPD.