Generic data interface
Your current implementation is somewhat flawed as relying on ToString to get the type name is dangerous. ToString is meant largely to yield or short meaningful description of the object for debugging, logging etc.
typeof(T) already yields a Type - it is totally unnecessary to convert it to a string just to then turn it back into a type again.
If your repositories all have a parameterless default constructor you can avoid calling CreateInstance entirely.


Your current implementation can be shortened to:

public T GetRepository&lt;T&gt;() 
{
    object repoInstance = Activator.CreateInstance(typeof(T));
    return (T)(object)repoInstance;
}


or possibly even to:

public T GetRepository&lt;T&gt;() where T : new()
{
    return new T();
}


In addition to that your GenericRepository seems more like a repository factory than a repository in itself hence you should possibly rename it to RepositoryFactory and the method to CreateRepository.