相当长的头衔,但希望不言自明!
我在Visual Studio 2013中使用实体框架5.0开始一个新的项目,使用代码优先迁移.
我使用git将我的项目连接到TFS Online – 我有兴趣尝试TFS Online,因为它为5个免费项目(类似于BitBucket)提供源代码管理管理,但是具有强大的Visual Studio集成.
我没有在Visual Studio 2013中使用数据库项目,我发现很少有关于这一切如何配合的信息.
我想要实现的是用2个项目创建一个简单的Visual Studio解决方案 – 一个是MVC .NET项目,另一个是数据库项目.我的目标是,代码首先迁移将对数据库项目中的sql脚本进行必要的更改(在git源代码控制下进行管理).我的web.config指向一个本地的.mdb文件作为我的数据库,这是当我在EF中运行update-database时更新的内容,这是我觉得是问题.
解决方法
实体框架代码首先是一种管理sql Schema的方法.真相的单一来源在您的代码库中.迁移增加了从一个版本的模式移动到另一个版本的方法. sql模式是构建过程的副产品.
sql Server数据库项目也是管理您的sql架构的一种方式.事实的单一来源存在于您的sql Server数据库项目中.您可以使用模式比较来生成从一个版本移动到另一个版本的脚本.
鉴于这些技术的意图和功能重叠,将它们一起使用并不真实.当您使用实体框架代码第一,利用迁移可以(当功能足以满足您的情况).
当您无法使用迁移时,您可以使用sql Server数据库项目来管理模式并将其保留在源代码控制中.
注意:
如果要使用这些,您应该考虑安装SQL Server Data Tools作为sql Server数据库项目的替代品.数据工具是这些项目的更高级版本,即使它们可能需要Visual Studio 2012来运行.我怀疑Visual Studio 2013的版本将在Visual Studio 2013命中RTM时可用