Converting models into a list of ViewModels
I don't know what to say more then:


make it an extension and return an IEnumerable&lt;T&gt; instead by using linq


do you mean something like this?

public static IEnumerable&lt;T&gt; Convert&lt;T&gt;(this IEnumerable&lt;ModelType&gt; modelTypes) 
    where T : BaseViewModel&lt;PrimaryKey, ModelType&gt;, new()
{
    return modelTypes.Select(x =&gt; new T { Value = x });    
}


use it:

var groupViewModels = modelTypes.Convert&lt;GroupViewModel&gt;().ToList();