构建代码优先从内部类迁移到Nuget包

时间:2017-11-22 15:56:59

标签: c# entity-framework nuget

我们希望为多个应用程序添加功能切换。我们将把切换存储在每个应用程序的数据库中。

我们的计划是构建一个FeatureToggle NuGet包。理想情况下,此包只会公开FeatureToggle类。其他类(DbContext,EF模型等)都是包内部的。

问题当然是迁移不会编译,因为它们引用了NuGet包内部的类。

是否可以基于内部类构建和执行CodeFirst迁移?

是否有一种通用/标准技术来设计将表添加到现有数据库的NuGet包。

1 个答案:

答案 0 :(得分:1)

不,this.element.jqGrid('editRow',rowId,true); 类只能从定义它们的同一个程序集中引用。

我不知道实现这一目标的常用/标准方法,但我知道我已经使用了在初始化时运行sql脚本的nuget包来添加自己需要的表。如果您的消费应用程序不需要直接访问任何这些内部类或表,我建议您查看该方法。

作为参考,我使用的库是hangfire - 请参阅github source:Hangfire/SqlServerObjectsInstaller.cs,它运行相应的install.sql脚本以添加所有内容而无需结束用户创建迁移等。