Converti DBContext in ObjectContext per l’utilizzo con GridView

Ho un progetto di webforms usando EF codefirst per mantenere i dati. Mi piacerebbe utilizzare un GridView e EntityDataSource, al fine di salvare la scrittura CRUD. È ansible?

Posso convertire il mio DBContext in un ObjectContext che è previsto da EntityDataSource?

Ecco cosa ho provato:

   

Tuttavia ottengo questa eccezione:

Imansible eseguire il cast dell’object di tipo “SomeNamespace.Models.ShopDBContext” per digitare “System.Data.Objects.ObjectContext”.

Prova questo:

 var context = new YourDbContext(); var adapter = (IObjectContextAdapter)context; var objectContext = adapter.ObjectContext; 

Prova questo ->

 protected void OrdersDataSource_ContextCreating(object sender, EntityDataSourceContextCreatingEventArgs e) { var context = new YourContext(); e.Context = ((IObjectContextAdapter)context).ObjectContext; } 

Dopo 2 giorni di difficoltà, ho trovato questo collegamento che mi ha aiutato molto. Sto lavorando con VS 2012 e ho avuto lo stesso problema con DBContext.
In base al collegamento, in VS2012 il generatore di codice predefinito è stato modificato per generare entity framework POCO e DBContext rispetto alle quadro derivate da EntityObject e ObjectContext che era l’impostazione predefinita in VS2010.
In solution explorer, sotto il modello dell’ quadro, è necessario rimuovere i modelli tt e, nella finestra di progettazione, fare clic con il tasto destro sulla superficie del designer e quindi nelle proprietà modificare la strategia di generazione del codice da Nessuno a Predefinito per ottenere quadro basate su EntityObject e derivate da ObjectContext. contesto.