使用Entity Framework迁移数据库结构

时间:2011-08-12 08:30:37

标签: sql-server entity-framework-4 migration db2

我们有一个DB2数据库的EF模型。

是否可以使用此模型生成SQL Server数据库?然后在使用之间切换 DB2和SQL Server?

我们认为开发人员可以针对本地SQL Server数据库进行开发。

我们使用EF 4.1。

2 个答案:

答案 0 :(得分:1)

如果您自己定义字段类型,则可能存在问题。 我一直在用Sql-Oracle做这样的事情,最后,我们在那里创建自定义属性,如[VarcharAttribute]并将实体配置为在OnModelBuilder函数中使用正确的类型名称。

这可能不起作用:

[Column(TypeName="varchar")]
public string Data{get;set;}

因为对于Oracle,它应该如下所示:

[Column(TypeName="VARCHAR2")]
public string Data{get;set;}

还可能存在其他问题,例如在sql-oracle中合并一个表名超过30个字符,并且它在sql中工作,但在oracle中不起作用,因为表名限制为30个字符。

但是在解决了这些问题之后,它就可以了。最后,我们可以从配置文件中设置提供程序。

是的,如果您处理数据库差异,则可能

答案 1 :(得分:1)

老问题但是......

您无法将迁移与IBM DB2 EF Provider一起使用。

关于DB2的EF 6(无迁移),IBM现在支持

您可以在此处找到EF支持的官方nuget包 http://www.nuget.org/packages/EntityFramework.IBM.DB2/
它不支持迁移。

如果您需要迁移,您也可以使用此包(除了以前的包) https://www.nuget.org/packages/System.Data.DB2.EntityFramework.Migrations/
你可以在这里找到更多信息 https://db2ef6migrations.codeplex.com/