我们正在寻找添加功能切换到几个应用程序。我们将在每个应用程序的数据库中存储切换。
我们的计划是构建一个FeatureToggle NuGet包。理想情况下,此包将仅公开一个FeatureToggle类。其他类( DbContext、EF模型等)都是包的内部。
当然,问题是迁移不会编译,因为它们引用了NuGet包内部的类。
是否可以基于内部类构建和执行CodeFirst迁移?
有没有一种通用/标准的技术来设计向现有数据库添加表的NuGet包?
发布于 2017-11-23 14:53:14
不能,internal类只能从定义它们的同一个程序集中引用。
我不知道实现这一目标的通用/标准方法,但我确实知道我使用过nuget包,这些包在初始化时运行sql脚本来添加它们自己所需的表。如果您的消费应用程序不需要直接访问这些内部类或表中的任何一个,我建议您研究一下该方法。
作为参考,我使用的库是hangfire -请参阅github源:Hangfire/SqlServerObjectsInstaller.cs,它运行适当的install.sql脚本来添加所有内容,而不需要最终用户创建迁移等。
https://stackoverflow.com/questions/47438982
复制相似问题