Respuesta

29

Ésta es duplicado de muchos temas ya discutidos en el SO pero estoy de acuerdo que algunos de ellos pueden ser difíciles de encontrar, ya que se anidan en otra pregunta

espero que esto le dará algunas respuestas. De lo contrario, no dude en solicitar más información aquí o en una nueva pregunta.

+0

muchas gracias por esos links.I se verá en ellos now.Do ¿Has visto o has visto algún ejemplo en el que moq se usa como marco de burla con codeFirst? ¿Hay ejemplos de extremo a extremo para descargar, incluido DB? Vi la primera pregunta, pero en su respuesta en algún momento no estaba seguro si era necesario o no. Gracias por su tiempo – user9969

0
public class MockDbSet<T> : IDbSet<T> where T : class, new() 
    { 
     private List<T> _entities; 

     public MockDbSet(List<T> entities) 
     { 
      _entities = entities; 
     } 

     public virtual T Add(T entity) 
     { 
      _entities.Add(entity); 
      return entity; 
     } 

     public virtual T Attach(T entity) 
     { 
      _entities.Add(entity); 
      return entity; 
     } 

     public TDerivedEntity Create<TDerivedEntity>() where TDerivedEntity : class, T 
     { 
      return new T() as TDerivedEntity; 
     } 

     public virtual T Create() 
     { 
      return new T(); 
     } 

     public virtual T Find(params object[] keyValues) 
     { 
      throw new NotImplementedException(); 
     } 

     public System.Collections.ObjectModel.ObservableCollection<T> Local 
     { 
      get 
      { 
       return new ObservableCollection<T>(_entities); 
      } 
     } 

     public virtual T Remove(T entity) 
     { 
      _entities.Remove(entity); 
      return entity; 
     } 

     public IEnumerator<T> GetEnumerator() 
     { 
      return _entities.GetEnumerator(); 
     } 

     System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() 
     { 
      return _entities.GetEnumerator(); 
     } 

     public Type ElementType 
     { 
      get { return _entities.AsQueryable().ElementType; } 
     } 

     public System.Linq.Expressions.Expression Expression 
     { 
      get { return _entities.AsQueryable().Expression; } 
     } 

     public IQueryProvider Provider 
     { 
      get { return _entities.AsQueryable().Provider; } 
     } 
    } 
Cuestiones relacionadas