【发布时间】:2011-12-21 22:11:16
【问题描述】:
通常人们会编写它的模型类并创建一个带有多个 DbSet 的 DbContext 到相应的模型类,以首先在 EF 代码中创建数据库。
Prism 库允许您创建模块。模块存在于同一个解决方案中,但作为解决方案中的另一个项目,或者它可能是来自另一个解决方案的 DLL。
我现在的问题是:例如,如果您有一个具有自己的模型(和 DbSet 定义)的 prism 模块(一个单独的项目),该怎么办。 如何从该模块添加或注入(或让 EF 发现)这些模型类和 DbSet,并将它们添加到现有的 EF 数据库中)?
假设某个外部人员使用自己的数据库模型编写了一个插件(棱镜模块),并偏离了相应的 DbSet 定义。 如果该人将该 prism 模块 DLL 放在程序目录中,那么核心应用程序(在正常启动时)如何知道 prism 模块中的其他 DbSet 也需要在数据库中创建,如果它们不存在的话。 (以及如何添加它们?)
提前致谢。
有人可以提供如何执行此操作的代码示例吗?我在考虑 MEF 属性 [ImportMany] 和 [ExportMany],但我不确定这是否可行。
【问题讨论】:
标签: database entity-framework entity-framework-4.1 prism code-first