c# – 如何在prism wpf模块化应用程序中首先使用代码动态创建数据库表?

我正在使用prism来构建一个带可插拔模块的模块化应用程序.

我已经在一个单独的项目中成功地使用EF设置了sqlite,以包含在每个模块中.

我希望我的模块有一个“Model”文件夹,其中只有它所需的类,其方式是,当由wpf shell加载时,系统将为它创建db表(如果它们已经不存在).

如何在运行时将我的模型类“注入”到DbContext类中,就像我使用UnityContainer注册视图和视图模型一样?

最佳答案 如果您使用EF 6,您可以尝试使用modelBuilder.RegisterEntityType(type);在您的上下文中添加新实体,您可以通过迁移配置来添加您的实体.你也可以使用modelBuilder.Configurations.AddFromAssembly(assembly);将您的实体配置添加到您的上下文.

我有这样一个模块化的Web应用程序.

当我的Web应用程序启动时,我检查所有模块并将实体和共享实体添加到上下文(顺便说一句,某些模块有自己的上下文),迁移对主数据库进行更改.

点赞