asp.Net VNext 中的命令行脚手架

Command line scaffolding in asp.Net VNext

我正在尝试在 Visual studio 2015 预览版中创建 Web 应用程序。我正在尝试使用命令行脚手架创建视图。 我使用了以下命令:

k gen controller -name ProductController -m ViewModels.Product -dc ProductContext -f -udl

ViewModels.Product class 在另一个项目中定义并在 UI 项目中引用。 运行 命令时出现以下错误:

Finding the generator 'controller'...
Running the generator 'controller'...
Attempting to figure out the EntityFramework metadata for the model and DbContext.
The entity type 'ViewModels.Product' requires a key to be defined.

Product class 中,我添加了对 System.ComponentModel.DataAnnotations 的引用并使用 [key] 属性定义了 属性。 它正在创建 DataContext class,而不是视图。

任何人都请指出我错在哪里。

这是目前脚手架的一个已知问题,作为解决方法,您可以在生成的 DbContext 的 OnModelCreating 方法中配置密钥,如下所示:

builder.Entity<Product>().Key(p => p.MyKeyName);

然后再搭建脚手架