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

时间:2015-02-05 06:52:58

标签: c# asp.net-core asp.net-mvc-scaffolding visual-studio-2015

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

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

ViewModels.Product类在另一个项目中定义,并在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课程中,我添加了对System.ComponentModel.DataAnnotations的引用,并定义了具有[key]属性的属性。 它正在创建DataContext类,而不是视图。

任何人都可以建议我错在哪里。

1 个答案:

答案 0 :(得分:2)

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

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

然后再次绞刑。