У меня довольно базовая c проблема, но я ищу лучший подход для этого.
У меня есть два класса:
[Serializable]
public class BudgetEntry
{
public int Id { get; set; }
[StringLength(127)]
public string Name { get; set; }
public int? Category1Id { get; set; }
[Display(Name = "Category 1")]
public Category1Dictionary Category1 { get; set; }
public Category2Dictionary Category2 { get; set; }
public string UserName { get; set; }
public decimal Amount { get; set; }
}
И второй, который выводится первым one:
public class BudgetEntryViewModel : BudgetEntry
{
public string PeriodName
{
get;
set;
}
}
У меня есть объект BudgetEntry, и я хочу отобразить его как BudgetEntryViewModel. Вот что я попробовал:
BudgetEntry item = new BudgetEntry() { /*seed data here*/ };
(BudgetEntryViewModel)item;
Но этот подход вызывает ошибку:
System.InvalidCastException: «Невозможно привести объект типа« Budget.Models.BudgetEntry »к типу 'Budget.Models.BudgetEntryViewModel'. '