このコード行でコンパイラに正確に何を伝えていますか?
public abstract class RepositoryBase<T> where T:class
から継承するオブジェクトを作成するとき、RepositoryBaseオブジェクトはコンストラクターでクラスを取得する必要があると言っていますか?そうでない場合、コンパイルエラーが発生しますか?
から継承する場合RepositoryBase<T>、T指定する型はクラスの型 (またはインターフェイスなどで、値の型ではない) でなければならないということです。たとえば、RepositoryBase<int>不正であり、コンパイルされません: Constraints on Type Parameters (C# Programming Guide)を参照してください。