2010-12-10 6 views
0

Verwendung von Code Erste generierte Kontextklasse mit WCF DataServices?Wie verwendet man Code First generierte Kontextklasse mit WCF DataServices?

ich konnte POCO-Vorlage erzeugte Kontextklasse von Object in Verbindung mit folgenden Konfigurationen in WCF-Dienst mit WCF Data geerbt verwenden:

public class WcfDataService : DataService<NorthwindEntities> 
    { 
     public static void InitializeService(DataServiceConfiguration config) 
     { 
      config.SetEntitySetAccessRule("*", EntitySetRights.AllRead); 
      config.SetServiceOperationAccessRule("*", ServiceOperationRights.All); 
      config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; 
     } 

     protected override NorthwindEntities CreateDataSource() 
     { 
      var ctx = new NorthwindEntities(); 
      ctx.ContextOptions.ProxyCreationEnabled = false; 
      return ctx; 
     } 
    } 

jedoch Kontextklasse, die CTP5 erzeugt wird, nicht möglich, weil es in der gleichen Art und Weise erbt nicht von ObjectContext, sondern erbt von DbContext.

Wie löst man dieses Problem?

Vielen Dank im Voraus

Antwort

0

Sie erreichen dies, indem Sie die Object durch die IObjectContextAdapter Schnittstelle zugreifen.

protected override NorthwindEntities CreateDataSource() 
{ 
    var ctx = new NorthwindEntities(); 
    ((IObjectContextAdapter)ctx).ObjectContext 
     .ContextOptions.ProxyCreationEnabled = false; 
    return ctx; 
} 
+1

Danke für Ihre Antwort ckal, aber es funktioniert nicht. Ich habe hier eine Lösung gefunden http://blogs.microsoft.co.il/blogs/gilf/archive/2010/12/08/entity-framework-feature-ctp5-released.aspx Es ist jedoch immer noch keine ultimative Lösung Dieses Problem und ich erkannte, dass es eine Umgehung von WCF Data Services-Team wie oben erwähnt Blog benötigt – Ray

Verwandte Themen