.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 也没问题。
但是,如果有人知道更好或正确的方法,请在此处指出。
我正在使用 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 也没问题。
但是,如果有人知道更好或正确的方法,请在此处指出。