2015-11-04 77 views
1

我正在工作visual studio 2010,mvc 4.我正在应用模型的第一种方法,我有一些类的层次结构。 VS脚手架与所有其他类甚至是基础类的层次结构都能很好地协作,但是儿童类不能使用脚手架。我发现并理解,只有基类转到我的dbcontext实现中,并且我开始担心直接使用子类的脚手架的可能性不大。 我错过了什么,或者我应该停止搜索,并开始让他们手动?.Net Entity Framework脚手架继承类

回答

1

到现在为止,我发现并解决了问题,但我仍然在寻找一些不那么棘手的问题。让我来解释一下: EDMX只向ModelContainer添加基类: public DbSet Personas {get;组; } 有可能通过context.Personas.Add()很好地读/写数据库中的数据... 但是,当我尝试为ChildClass模型制作控制器/视图时,脚手架会查找数据库,并且它不是那里。 我的棘手的解决方案:制作另一个分类ModelContainer,并在那里添加那些DbSet。请记住原始文件是自动生成的,不能永久手动编辑...嗯... 更好的是,您可以将它添加到原始的ModeloContainer中,编译然后使用脚手架。它可以正常工作,不再需要,所以如果您从EDMX再次重新生成Container类,则不会出现问题。

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

+0

你必须小心,当你添加另一个部分MyDbContext类时,自动生成器可以使用它作为配方来编写'DBSet <>'属性以及它的原始属性,有时会导致重复,因为它并不意味着它具有更多比一个文件,只检查一个。 –