1

我正在尝试在 MVC4 中创建一个控制器,但我遇到了一个我不明白的错误(我是 MVC 新手)。它说“无法检索 'CIT.ViewModels.DashboardViewModel'... 的元数据”,然后给出 2 个可能的问题。一是 DashboardViewModel 没有定义键。另一个是 EntitySet 'DashboardViewModels' 没有定义键。

我为 DashboardViewModel 定义了一个键,但这并没有解决问题。这是我的仪表板视图模型;

public class DashboardViewModel
    {

        public DashboardViewModel() { }

        [Key]
        public int Id { get; set; }
        public Hardware Hardware { get; set; }
        public Software Software { get; set; }
        public HardwareType HardwareType { get; set; }
        public Manufacturer Manufacturer { get; set; }
        public SoftwarePublisher SoftwarePublisher { get; set; }


    }

如您所见,它由类组成。我这样做是为了让我可以从同一个视图访问多个类。我认为它不需要密钥,但我添加了一个并没有解决问题。另一个错误听起来像是在为 DashboardViewModels 寻找 DbSet。据我了解,您的 DbSet 就是您的表格。我不想要或不需要 DashboardViewModels 表。我这样做只是为了在我的视图中可以访问多个表/类。到目前为止,这一切都很好。

当我尝试创建控制器时,我使用 DashboardViewModel 作为我的模型,使用 Context 作为我的上下文。这是我的背景:

public class Context : DbContext
    {
        public DbSet<Software> Softwares { get; set; }
        public DbSet<Location> Locations { get; set; }
        public DbSet<SoftwarePublisher> SoftwarePublishers { get; set; }
        public DbSet<SoftwareType> SoftwareTypes { get; set; }
        public DbSet<Hardware> Hardwares { get; set; }
        public DbSet<Manufacturer> Manufacturers { get; set; }
        public DbSet<HardwareType> HardwareTypes { get; set; }
 }

我该如何解决这些错误?

4

0 回答 0