我创建了通用存储库,如下所示:
public interface IGenericRepository<T> where T : class
{
void Add(T entity);
void Save();
void AddMany(List<T> entities);
}
其实施方式为:
public abstract class GenericRepository<C, T> :
IGenericRepository<T> where T : class where C : DbContext, new()
{
private C _entities = new C();
public C Context
{
get { return _entities; }
set { _entities = value; }
}
public virtual void Add(T entity)
{
_entities.Set<T>().Add(entity);
}
public virtual void AddMany(List<T> entities)
{
_entities.Set<T>().AddRange(entities);
}
public virtual void Save()
{
_entities.SaveChanges();
}
}
}
在课堂上使用它:
public class EmployeeRepository :
GenericRepository<EmployeeEntities, Employee>, IEmployeeRepository
{
public void SaveEmployeesForItem(List<Employee> Employees)
{
AddMany(Employees);
Save();
}
}
但是保存不起作用。 db中没有添加任何记录。并且它不会引发任何错误。任何人都可以建议我做错了什么?
(我花了几个小时调试这个。但没有运气。)