2010-05-25 15 views
3

LinqPad prend en charge les services de données WCF. Si vous affectez une URL, par exemple http://services.odata.org/Northwind/Northwind.svc/. Il listera tous les objets de données disponibles et vous pouvez les interroger. Je suppose que LinqPad génère toutes les classes de données disponibles au moment de l'exécution par reflection.Emit. Je me demande qui peut me montrer comment faire ainsi. Ou peut-être que quelqu'un l'a déjà fait.Comment LinqPad prend-il en charge les services de données WCF?

Tous les commentaires sont appréciés.

Ying

Répondre

2

C'est ce que j'ai après avoir examiné le code avec réflecteur:

LINQPad utilise le haut-EntityClassGenerator classe pour générer du code, puis le compiler avec CSharpCodeProvider. Aucune réflexion émise n'est utilisée. (Il utilise cependant la réflexion pour générer du code dans le cas de LINQ-2-SQL.)

En ce qui concerne l'outil ODataExplorer suggéré par Vitek, il ne semble pas du tout générer de code. Cela n'est pas nécessaire, car toutes les interactions entre le service et le service sont effectuées via l'API REST et non via LINQ. Aucun contexte de données fortement typé n'est donc nécessaire.

+0

Lien mis à jour pour le premier: http://msdn.microsoft.com/fr-fr/library/system.data.entity.design.entityclassgenerator.aspx (également la lettre 'r' n'est pas liée, ce qui entraîne moi un peu plus fou chaque fois que je le regarde ...: D). –

+0

Merci, James. Actualisé. –