я получил следующую модель объекта, который я использую в Entity Framework:Добавить дополнительные данные модели (? Понижающее приведение)
public class User {
public int Id { get; set; }
public string Name { get; set; }
public string EMail { get; set; }
}
Теперь я пытаюсь показать пользователю на вид (MVVM в WPF, MVC в ASP.NET ...), но вместе с другой информацией, которая недоступна внутри базы данных, но может быть извлечена во время выполнения из службы.
Для этого я создал производный класс модели:
public class UserDetail : User {
public bool IsOnline { get; set; }
}
и теперь некоторые тарабарщина код, который описывает то, что я хочу добиться:
var users = _myContext.Users
.ToList()
.Select(x => new UserDetail() {
IsOnline = _myUserService.IsOnline(x.Id)
} = (UserDetail)x); // downcast x (User) to the new UserDetail instance
return View["MyView", users];
Теперь, понижающее приведение не работает таким образом в C# .. есть ли у меня другие возможности для достижения того, что я хочу?