.Net Entity Framework 继承的脚手架 类

.Net Entity Framework scaffolding for inherited classes

我正在使用 visual studio 2010,mvc 4。我正在应用模型优先方法并且我有一些 classes 的层次结构。 VS 脚手架适用于所有其他 classes,甚至是层次结构的基础 class,但子 classes 无法使用脚手架。我看到并理解只有基础 class 进入我的 dbcontext 实现,我开始担心直接使用子 classes 脚手架的可能性为零。 我是不是遗漏了什么,或者我应该停止搜索并开始手动制作它们?

到现在为止,我找到了有趣的解决方案,但我仍在寻找不那么棘手的方法。让我解释一下: EDMX 仅将基础 class 添加到 ModelContainer: public DbSet 角色 { get;放; } 有了它,可以通过 context.Personas.Add() 很好地 read/write 数据 from/to 数据库 ... 但是,当我尝试为 ChildClass 模型制作 controller/views 时,脚手架会寻找数据库,但它不存在。 我的棘手解决方案:制作另一个部分 class ModelContainer 并在其中添加那些 DbSet。请记住,原件是自动生成的,无法永久手动编辑……嗯…… 更好的是,您可以将其添加到原始 ModeloContainer 中,编译然后使用脚手架。它会正常工作,不再需要它,所以如果您从 EDMX 重新生成容器 class 也没问题。

但是,如果有人知道更好或正确的方法,请在此处指出。