Въпрос за изпита на 4 - ти Август

В задачата се иска да се направи Repository<T> с метод GetByName(string name). Вследствие, реших да пазя моделите в Dictionary<string, T>. Иска се да имплементирам метод Add(T model), но не мога да добавям в речника, защото не мога да взема Name от модела. Знам, че мога да кажа where T : ISomeEntity, но проблемът е, че в IMotorcycle имам property string Model { get; }, а в IRider и IRace имам string Name { get; } и не мога да ги съчетая.

Как да процедирам?