Abstract repository for entity framwork
For one, it is not an abstract repository, but a generic repository. Never mind. As mentioned in a comment, generic repositories are hardly ever helpful and I would never use them. But apart from that, there's a couple of things I can say about this code:


TryGet should be absolutely safe (that's what the "Try" prefix conveys), so use FirstOrDefault() and only return an entity if exactly one is fetched.
I would not return a List, but an IEnumerable, so you retain deferred execution.
If the repository is only internally used, e.g. to supply data for services, I would return IQueryable, so you can compose queries from different repositories, do projections, includes and everything you can do with IQueryable and not with IEnumerable.
As said in another comment, it is not necessary to return anything from Add and Update, because you always modify a reference type.
I would prefer method names like MarkForDelete, because that's what actually happens.