我正在使用棱镜来构建具有可插拔模块的模块化应用程序。
我已经在一个单独的项目中成功地使用EF设置了sqlite,该项目将包含在每个模块中。
但
我希望我的模块有一个“模型”文件夹,其中仅包含其所需的类,以这种方式,当由wpf Shell加载时,系统将为其创建db表(如果它们尚不存在)。
我怎样才能DbContext
在运行时将模型类“注入”到类中,例如当我向UnityContainer注册视图和视图模型时?
如果您使用EF 6,则可以尝试modelBuilder.RegisterEntityType(type); 用于在您的上下文中添加新实体,您可以进行迁移配置以添加您的实体。您也可以使用modelBuilder.Configurations.AddFromAssembly(assembly); 将您的实体配置添加到上下文中。我以这种方式有一个模块化的Web应用程序。当我的Web应用程序启动时,我检查所有模块,并将实体和共享实体添加到上下文中(顺便说一句。某些模块具有自己的上下文),然后迁移对我们的主数据库进行更改。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句