У меня есть следующий запрос linq2sql, и я устанавливаю результат в POCO. Одно из моих свойств POCO - это перечисление.
public IQueryable<Models.Achievement> GetAchievements()
{
return from a in _sqlDatabase.Achievements
select new Models.Achievement
{
// Note: ToEnum is an extension method that converts an int -> the enum.
AchievementType = a.AchievementTypeId.ToEnum<Models.AchievementType>(),
DateTimeCreated = a.DateTimeCreated,
UserId = a.UserId
};
}
Когда я запускаю запрос, я получаю следующую ошибку.
System.NotSupportedException: Method 'Models.AchievementType
ToEnum[AchievementType](int)' has no supported translation to SQL.
Хм. Есть ли способ, которым я могу быть достаточно хитрым, чтобы преобразовать результат int в мое настраиваемое перечисление?