Измените его на:
public IQueryable<T> Query<T>(Expression<Func<T, bool>> filter)
{
return context.GetTable<T>().Where(filter);
}
public virtual void Update<T>(T entity)
{
context.GetTable<T>().Attach(entity);
}
var user=something.Query<User>(x=>x.Name=="bla bla").First;
user.Name="alb alb";
something.Update(user);
Но не стоит писать общие репозитории. Вы не так много получаете от них. Если он универсален, предоставляет IQueryable, принимает фильтры Expression, это совершенно бесполезный уровень абстракции и просто добавляет сложности.