我一直致力于ASP.NET Entity Framework 4.3 Code-First应用程序,该应用程序管理它关心的数据库部分的模型。由于该数据库将被多个其他应用程序使用(一些不使用ef,因此无法导入模型),因此我们的想法是使用我的应用程序创建基础数据库。在此之后,DBA可以根据需要添加我的应用程序未使用的其他字段和表。
在我的应用程序中实现对模型的更改时会出现问题。我们的想法是使用EF 4.3的新迁移功能创建脚本(-script功能),同时指向我们的本地计算机dev db(SQLCompact),然后将其传递给DBA以迁移实际的dev数据库(MS SQL 2008) )所有其他应用程序都使用。
这引起了一些问题,因为当我开始测试(指向SQL服务器)时,应用程序无法读取任何外键关系,从而产生这些列不存在的错误。我想知道这是否是由SQL Compact和SQL Server(EF到SQL)的翻译差异引起的,或者其他一些问题是原因。
我是否应该为这种类型的1-DB多应用环境中的EF迁移烦恼?我是否需要直接针对SQL Server运行所有迁移?我应该使用完全不同的变更策略吗?任何帮助或指导将不胜感激。
答案 0 :(得分:1)
好吧,您可以尝试在本地安装SQL Server Express而不是使用compact。这应该摆脱紧凑和标准之间可能存在的任何差异。