Am urmatoare problema,
trebuie sa filtrez dinamic o replica in SQL Server 2005 cu subscriptii SQL Compact 3.5 si am urmatorul scenariu, o tabela Company si o tabela CompanyRelations care e folosita pentru a crea relatii m:n intre comapanii:
Table : [Company] ( IDCompany PK identity, <restul coloanelor ...>)
Table: [CompanyRelations] (CompanyID FK references IDCompany , CompanyRefID FK references IDCompany,<restul coloanelor ...>)
Deci tabela CompanyRelations are 2 FK-uri spre tabela Company, iar eu trebuie sa folosesc un join filter pentru a filtra tabela CompanyRelations in functie de tabela Company.
Ce se intampla in cazul meu:
Am de ex urmatoarele date:
[Company]
ID, Name
1 Company1
2 Company2
3 Company3
[CompanyRelations]
CompanyID, CompanyRefID
1 2
1 3
Daca tabela Company e filtrata pernu ID-urile 1 si 2 iar join filtrer e [Company].[IDCompany] = [CompanyRef].[CompanyID]
atunci prin join filter se filtreaza row-urile (1 2) si (1 3) din CompanyRelations. Row-ul (1 3) va ajunge pe subscriber fara ca sa existe compania cu ID 3 si de aici sincronizarea da o eroare de referential integrity la insert.
Eu trebuie sa filtrez tabela CompanyRelations astfel incat sa contina row-uri ce fac referire la companiiile filtrate prin ambele foreign key-uri. insa un join filter nu ma lasa sa spefifit decat clauza de join adica ce vine dupa Join [table] ON ...
As aprecia daca ar putea cineva sa-mi dea un hint cum as putea sa filtrez o tabela de relatii m:n pentru merge replication in functie de alta tabela.
Mersi,
Cata