2011-01-23 3 views
5

Je dois développer une application pour stocker certains fichiers plats dans la base de données .. L'application Console et le serveur SQL seront sur la même machine, laquelle de ces deux options est la meilleure?WCF Data Services ou Entity Framework

  • Créer WCF Data Services et de l'utiliser à partir de l'application de la console
  • Utilisez directement les entités Entity Framework de l'application de la console

En général, quand il est préférable d'utiliser WCF Data Services ou Entity Framework ?

MERCI!

+1

Oui, c'est de la pomme et des oranges et chacun résout différents problèmes. Les services de données WCF ne semblent pas être un bon ajustement si seulement une application l'utilise pour les données ETL. –

Répondre

20

Ce sont deux technologies totalement différentes:

  • Entity Framework est un OU mappeur pour rendre votre accès plus facile base de données; vous pouvez comparer cela à, par exemple. NHibernate, Linq-to-SQL, Subsonic, Genome ou autres mappeurs OR

  • Les services de données WCF sont un moyen d'exposer vos modèles de données au monde extérieur via HTTP/REST; comparer ce à l'héritage ASMX webservices, purs services WCF, d'autres technologies de service

Vous ne pouvez pas comparer les deux - ils sont bêtes totalement différentes, et dans de nombreuses solutions, ils vont travailler ensemble - on ne peut pas remplacer l'autre . Si vous avez une application de console qui doit lire des données à partir d'une base de données, vous pouvez utiliser Entity Framework directement - dans ce cas, votre application console doit avoir une connexion directe à la base de données et être liée à Entity Framework La technologie. L'option d'exposition des données à l'aide d'un service de données WCF ajoute une autre couche: votre application de console n'accède pas directement aux données, mais elle appelle simplement un service de données WCF. Maintenant, vous avez essentiellement deux parties: votre application de console en tant que client, et une sorte d'application de service qui fournira les données. Dans ce cas, votre client n'a pas besoin de connaître quoi que ce soit à propos d'Entity Framework ou de quelque chose comme ça - vous pouvez également facilement ajouter un second client, par exemple. une application web. Mais l'application de service qui fournit les données devra toujours pouvoir se connecter directement à la base de données à l'aide d'Entity Framework. Donc, à la fin, vous ne remplacez pas vraiment Entity Framework avec WCF Data Services - vous ajoutez juste une autre couche d'indirection, mais finalement, pour obtenir les données, vous avez toujours besoin d'un type de données technologie d'accès (comme Entity Framework).

+0

Merci beaucoup! Maintenant c'est clair.. – andrew0007

Questions connexes