Bonjour,

J'ai actuellement un projet contenant 2 data contexte:
* un pour une base SQL express 2008 (sur les postes client)
* un pour une base "maitresse" sur un serveur SQL 2008
Ces deux contextes possèdent la même structure (meme tables et mêmes attributs)

Ces deux contextes sont séparés par un webservice pour des raisons de sécurité et d'accessibilité.
Actuellement l'application client fonctionne bien en mode déconnecté.
En mode déconnecté, lors d'une insertion, d'un update ou d'un delete, l'application cliente stocke dans l'ordre les opérations effectuées. Dès que le web service est accessible, l'application cliente rejoue les éléments stockés sur le serveur. Dans le cas d'un insert, le client récupère l'objet crée sur la base maitresse (et donc sa clefs primaire sur le serveur distant). J'ai défini dans ma base locale une mise à jour en cascade de l'identifiant, ce qui (théoriquement) devrait mettre à jour toutes les clefs étrangères liées à l'objet nouvellement crée et donc rendre ma base cohérente vis à vis de la base maitresse (mêmes identifiants et contraintes respectées). Hors il n'est pas possible, d'après de rapides tests, en Linq de faire un "SET IDENTITY_INSERT", ni de modifier les clefs primaires de mes tables.

J'ai déja écrit la fonction qui retourne seulement les données utiles au poste client qui effectue la requette sur le web service. Cette requette me renvoie une liste de listes (chacune correspondant à une de mes (très nombreuses) table).
J'ai également crée deux fonctions permettant, par reflection, de creer un objet du type de mon premier contexte en un de mon second contexte et inversement. Cela me permet de faire l'interface entre mes deux contextes puisque chacun est défini dans un namespace différent et qu'il n'est pas possible de les transtyper.

Quelqu'un vois une solution ? Peut etre mon approche n'est pas la bonne?

Merci d'avance

EDIT:
re-bonjour,

Continuant mes recherches pour résoudre ce soucis, je me suis demandé si le schéma linq pouvait etre modifié durant le runtime; ceci me permettrai d'ajouter aux requettes insert l'identifiant et, en ajoutant un "SET IDENTITY_INSERT ON" de pouvoir inserer un enregistrement avec n'importe quelle clef.
Je n'ai malheureusement trouvé aucune information concernant la modification du schéma et les propriétés du schéma semblent toutes etres en lecture seule.

Quelqu'un à t'il déja modifié un schéma linq dynamiquement?