Entity Framework Complex Type i ADO.NET Data Services

Dues tecnologies molt interessant en opinió meva i molt utils per un ràpid desenvolupament que et permeti poder crear serveis amb accés a bases de dades.

Entity Framework ens permet mapejar les bases de dades en entitats per tal de que podem aplicar LINQ per poder consultar els valors de la base de dades. També ens permet poder gestionar la base de dades sense entrar per res en llenguatge natiu de la base de dades.

Amb EF sovint trobem la necessitat de tenir Complex Types ja sigui perquè volem tenir una estructura auxiliar dins el nostre entorn o perquè important un Stored Procedure de la base de dades aquesta com a sortida té una estructura complexa.

ADO.NET Data Services ens permet poder crear serveis WCF simples que estan orientats a les dades i no pas als mètodes. Aquests serveis es configuren per un EF i per tant és en el client del servei que s’utilitza els contexte creat per poder accedir a les dades com si estiguessin en local.

Però de moment sembla ser que els Complex Types tenen un problema de compatibilitat i no es poden utilitzar per ADO.NET Data Services. Per tant qualsevol Stored Procedure o Web Method que poguem tenir dins el servei no actuarà correctament.

El problema és unicament al moment de serialitzar l’estructura i per tant una manera de solucionar-ho seria tu mateix recorrer a una serialització pròpia.

L’altre és crear un servei WCF normal que puguis consultar aquest tipus de informació.

És per això que ADO.NET Data Services està orientat a les dades i no pas als mètodes com si el servei WCF.

Per més informació:

The closed type does not have a corresponding element settable property

EF4: The closed type ‘xxxx’ does not have a corresponding element settable property

Issues with using Silverlight 4, WCF Data Service Service Operation with Entity Framework 4.0

Anuncis

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

S'està connectant a %s