Question

Y a-t-il un moyen d'écrire une requête dans les services d'accès à SharePoint Online et de superposer ses résultats via des services Web ou le modèle d'objet client pour .NET?Comme la façon dont les tables sont surfacées comme des listes?

Fond

Nous avons une base de données d'accès qui est revêtue à l'aide des services d'accès pour SharePoint Online. J'ai reçu la tâche de récupérer certaines données de services d'accès en tant que fichier XML pour se nourrir d'un autre système.

Il existe une requête existante, écrite dans SQL pour obtenir ces données (à partir de l'heure avant que la base de données d'accès soit en ligne) très complexe et que je crains si je le convertitais en une camplaire ou utilisez LINQ pour créer la requête,Ça 1) il n'aura pas toutes les fonctions qui existent dans SQL, et 2) il deviendra ballonné, rendant lentement à courir et difficile à maintenir.

Exemple simplifié Query:

select * 
from members m, info i 
where m.id = i.memberid
and year(m.date) = 1900 
UNION 
select *
from members m 
where m.id not in (select memberid from info) 
UNION 
select *
from members m, info i 
where m.id = i.memberid
and i.date_to = (select max(date_to) from info where memberid = i.memberid)
Order By m.Name

Était-ce utile?

La solution

I ended up doing this by using the C# client object model to import all the data from the relevant lists into an in-memory SQLite database, and then running a modified SQL query on the SQLite tables. As there wasn't that much data this was an acceptable method.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top