Я, как правило, просто использую дженерики, например,
List<Account> Accounts = new List<Account>();
Или IEnumerable, IQueryable в зависимости от контекста ситуации. Чтобы добавить диапазон сущностей к универсальному, вы можете просто использовать:
List<Account> Accounts = new List<Account>();
Account a1 = new Account();
Account a2 = new Account();
Account a3 = new Account();
Accounts.AddRange(new List<Account> { a1, a2, a3 });
Если вы хотите что-то более многократно используемое, все ранне связанные объекты свободно конвертируются в класс Microsoft.Sdk.Entity и обратно, например,
List<Entity> Entities = new List<Entity>();
Приведенная выше коллекция может хранить все различные типы объектов в одном списке.