2015-11-23 18 views
0

我已经对数据模型做了一些更改,并且需要更新实体'文件'。以前,这个实体只有一个绝对路径的引用。EF6代码迁移 - 为了将列'filePath'更新到varbinary而进行的数据操作

我的意图是通过它的路径获取文件并将其传输到varbinary列。

在相应的实体框架的代码迁移过程中/共同执行此操作是否可靠/可行? 此迁移将涉及多个开发人员参与的项目。 我想弄清楚什么是实现这种迁移的最自动化的方式。

这些类型的迁移是否有任何指导方针/方法?

+0

哇,这听起来很酷,但所有,但为什么?我只是好奇:) – Heberda

+0

@Heberda有一些文件,我们不能静态服务。我们使用sql filestream存储它们,并通过文件控制器将它们提供给用户。 –

+0

有趣的是,谢谢你的回复:)祝你好运,解决方案,这是一个高于我的水平哈哈 – Heberda

回答

1

我总是喜欢在Up()迁移的方法中做这种工作。

请记住,您的所有.NET功能在您的指尖。这样,无论您在何处应用迁移,数据库都会得到更新。

由于您的文件路径是绝对路径,因此在运行应用程序的系统中找到它们没有任何问题。

+0

似乎要走的路,我只是等了几天才将它标记为已回答,在任何其他人参与的情况下。 –

1

我会创建fileData(varbinary),并暂时保留filePath(varchar)。这一变化可以通过迁移来完成。然后,我会通过控制台应用程序或类似的东西将数据从文件传输到字节数组中,并与其他开发人员同步此操作。

使用此设置,您还可以选择延迟传输文件,例如,当请求文件时,从文件加载它并将其保存在varbinary中。

然后,在稍后的迁移中,如果您已验证所有数据都已传输,则可以删除filePath列。

+0

这听起来很合理,但我宁愿自动化过程多一点。 –

相关问题