Карта наследования asp. net mvc - PullRequest
0 голосов
/ 03 мая 2020

У меня довольно базовая 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'. '

...