2011-01-23 19 views
5

Tengo que desarrollar una aplicación para almacenar algunos archivos planos en la base de datos. La aplicación de consola y SQL Server estarán en la misma máquina, ¿cuál de estas dos opciones es la mejor?WCF Data Services o Entity Framework

  • Crear WCF Data Services y utilizarlo de la aplicación de consola
  • uso directamente las entidades de Entity Framework desde la aplicación de consola

En general, cuando es mejor usar WCF Data Services o Entity Framework ?

GRACIAS!

+1

Sí, esto es manzana y naranjas y cada uno resuelve diferentes problemas. WCF Data Services no parece una buena opción si solo una aplicación lo usa para datos de ETL. –

Respuesta

20

Esos son dos totalmente diferentes tecnologías:

  • Entity Framework es un OR mapeador para hacer su acceso a la base de datos más fácil; puedes comparar esto con, por ejemplo, NHibernate, Linq-to-SQL, subsónico, genoma u otros mapeadores OR

  • WCF Data Services es una forma de exponer sus modelos de datos al mundo exterior a través de HTTP/REST; comparar este a servicios web ASMX heredados, servicios WCF puros, otras tecnologías de servicios

no se puede comparar los dos - son totalmente diferentes bestias, y en muchas soluciones, que van a trabajar juntos - uno no puede sustituir a la otra .

Si tiene una aplicación de consola que necesita leer datos de una base de datos, puede usar Entity Framework directamente; en ese caso, su aplicación de consola debe tener una conexión directa con la base de datos. tecnología.

La opción de exponer los datos mediante un servicio de datos WCF agrega otra capa: la aplicación de la consola no accede directamente a los datos, sino que simplemente llama a un servicio de datos WCF. Ahora, básicamente, tiene dos partes: su aplicación de consola como cliente y algún tipo de aplicación de servicio que proporcionará los datos. En ese caso, su cliente no necesita saber nada sobre Entity Framework ni nada de eso; también podría agregar fácilmente un segundo cliente, p. una aplicación web. Pero la aplicación de servicio que proporciona los datos aún deberá poder conectarse directamente a la base de datos utilizando Entity Framework.

Así que al final, realmente no está reemplazando Entity Framework con WCF Data Services; solo está agregando otra capa de indirección, pero al final, para obtener los datos, aún necesita algún tipo de datos tecnología de acceso (como Entity Framework).

+0

¡Muchas gracias! Ahora esta claro.. – andrew0007

Cuestiones relacionadas