我们有一个基于C#EF Code First的大型代码库。最近增加了一个F#项目。该项目使用FSharp.Data.SqlClient(http://fsprojects.github.io/FSharp.Data.SqlClient/)类型提供程序连接到DB。
这造成了一个巨大的问题:F#类型提供者需要DB(和所有引用的结构)存在之前整个项目可以从头开始编译,但EF需要编译整个项目,然后才能创建/更新数据库。随后,无法再从头创建数据库甚至修改数据库。
虽然不使用类型提供程序显然是可能的,但它并不是一个有吸引力的解决方案,因为它使类型提供程序的整个目的无效,并且需要编写已经由它们完成的代码。
有没有人有任何想法如何处理?非常感谢!
答案 0 :(得分:1)
扩展我的评论,假设您目前只有2个VS项目:
您可以做的是投入3项目解决方案:
这样,您的EF C#项目可以先编译 然后再运行迁移。然后你的F#项目编译好了。最后,您的第三个项目(包含依赖于EF和F#项目的其余逻辑)可以成功编译。