Выглядит как-будто все правильно. Коллекция Settings точно содержит один элемент с конкретным name? Попробуй заменить Settings.FirstOrDefault на Settings.SingleOrDefault, друг...
В POCO нет логики, в DTO нет логики, в VM логика есть, где я ошибся?
У тебя эти классы не идентичны по сигнатуре друг другу?
Получается VM - не POCO?