Ну, теоретически, вы могли бы сделать это:
public class GenericRepository<T, TBase> : IDisposable, IGenericRepository<T>, IGenericRepositoryAsync<T>
where T : TBase, new()
{
// Standard methods like: GetById, Update, Delete etc.
}
Но мне неясно, что это могло бы сделать. Обычно, когда вы используете общие критерии, это потому, что кто-то в вашем классе знает, как каким-то особым образом взаимодействовать с типом в критериях (BaseEntity
).
Если это не так, то, во-первых, для этого критерия нет никакой реальной цели, и вы должны просто удалить его.
Если это * , вы, вероятно, должны создать отдельный тип репозитория. Например, у вас может быть GenericEntityRepository
, а затем отдельный IdentityUserRepository
или что-то в этом роде.