Changed TData to TEntity to reflect the fact that it works with EF entity classes