Linq to Entities не распознает строку. Формат или конкатенация '+'

У меня есть код ниже:

using (DBContext context = new DBContext())
{
    myCollection = context.Items.Where(i => i.Type == 1).OrderBy(k => k.Name).Select(w => new
    {
        Alias = w.Name + string.Format("{0}", w.Id),
        Name = w.Name                        
    }).ToArray();
}

Во время выполнения я получаю сообщение об ошибке при попытке объединить строки и при попытке конвертировать целое число w.Id в строку.

Ошибка говорит:

Linq для сущностей не распознает метод string.Format

Кроме того, знак плюс плюс "+" не поддерживается.

Я решил это, введя AsEnumerable:

using (DBContext context = new DBContext())
{
    myCollection = context.Items.AsEnumerable().Where(i => i.Type == 1).OrderBy(k => k.Name).Select(w => new
    {
        Alias = w.Name + string.Format("{0}", w.Id),
        Name = w.Name                        
    }).ToArray();
}

но я хотел бы знать, является ли это лучшим решением или есть другой способ, более подходящий для этого. Идеи?

Ответы на вопрос(2)

Ваш ответ на вопрос