Sto utilizzando l'approccio Model First con EF6 e sto cercando di utilizzare Entity Framework Effort per sviluppare test in-memory.
Ecco cosa faccio nel mio test:
var inMemoryConnection = Effort.DbConnectionFactory.CreateTransient("name=MyEntities");
var inMemoryContext = new MyEntities(inMemoryConnection);
MyEntities:
public partial class MyEntities: DbContext
{
public MyEntities(DbConnection dbConnection)
: base(dbConnection, contextOwnsConnection: true)
{
}
Quando eseguo i test, viene visualizzato un errore che indica che non ho specificato alcun attributo [chiave] che è normale poiché non sto utilizzando un approccio Code First. Pertanto, il metodo OnModelCreating viene chiamato e non dovrebbe essere necessario.
Esiste un modo per utilizzare Effort in un modello Model First senza dover aggiungere questi attributi?
Grazie !
Ho trovato il mio errore.
Risulta che Effort.DbConnectionFactory.CreateTransient è utilizzato per Code-First.
Invece se stai lavorando con .edmx, Model-First, è Effort. Entity ConnectionFactory.CreateTransient ("name = MyEntities") che devi usare.