Visual Studio 2012 és WCF Data Service

Sziasztok!

Ebben az írásban a WCF Data Service használatáról fogok írni Visual Studio 2012-őt használva.

Amikor Visual Studio 2012-őt használva elhatároztam, hogy csinálok egy Data Service-t nagy meglepődésemre sehol nem találtam a project template-k között. Jelenleg a 2012-es verzió esetén a Data Service template még csak RTM verzióban érhető el.

A következő linkről érhető el az installer:

http://www.microsoft.com/en-us/download/details.aspx?id=35840

A célom egy OData service létrehozása volt azonban a template installálása nem oldotta meg a problémámat.

Elösször is ehhez installálnom kellet pár NuGet package-t:

  • EdmLib
  • ODataLib
  • WCF Data Services Client
  • WCF Data Services Server
  • EntityFramework

Ezek után ha létrehozunk egy Data Service-t majd megadjuk a kért ObjectContext-et elméletben az alkalmazásunk működik. Sajnos csak elméletben.

A probléma az EntityFramework új verziója amely másképp kezeli az ObjectContext-et, azonban a WCF Data Service-t erre még nem készítették fel, így nem kompatibilisek.

A megoldás:

Installálni kell egy újabb NuGet package-et:
Install-Package Microsoft.OData.EntityFrameworkProvider -Pre

Majd ezek után a Data Service osztályunk nem a DataService osztályból kell, hogy öröklődjön hanem az EntityFrameworkDataService osztályból.

Ezek után már az service képes ellátni a tényleges feladatát.

Leave a Reply