Ciao a tutti, sto sviluppando una piccola applicazione dove sono presenti in buona parte le classiche operazioni CRUD. Sto utilizzando Asp.Net 4.0 e EntityFramework 4.1
Dato che il modello di tale applicazione non è molto chiaro ( e soggetto a modifiche ), ho creato lo schema delle entity (file edmx) con VS2010 generando poi il database (SQLServer Express 2008).
Vorrei iniziare a costruire l'applicazione in maniera indipendente dal database al momento, e ho deciso di mockare il dbcontext / dbset di entity framework in questo modo:
Public Class FakeDBContext
Inherits DbContext
Public Property ClienteSet() As New FakeDBSet(Of Cliente)
Public Sub New()
MyBase.New("name=ModelContainer")
'load fake data in ClientSet
Dim cliente As New Cliente With {.Nome = "Cliente1"}
Me.ClienteSet.Add(cliente)
End Sub
Protected Overrides Sub OnModelCreating(modelBuilder As DbModelBuilder)
Throw New UnintentionalCodeFirstException()
End Sub
End Class
Public Class FakeDBSet(Of T As Class)
Implements IDbSet(Of T)
Private entityData As Collection(Of T)
Public Sub New()
entityData = New Collection(Of T)
End Sub
.... implementazione dei metodi di IDBSet(Of T).
Utilizzo il FakeDBContext in modo corretto con un gridView in cui visualizzo i dati facendo il databind nel codebehind.
Provando invece ad utilizzare un EntityDataSource (per sfruttare il 2way data binding) mi richiede la proprietà ConnectionString che io non possiedo in quanto non sono connesso di fatto a nessun database.
Come posso procedere in tale direzione? E' l'approccio corretto secondo voi?