【问题标题】:EF6 Code Migration - Data manipulation in order to update a column 'filePath' to varbinaryEF6 代码迁移 - 数据操作以将列 'filePath' 更新为 varbinary
【发布时间】:2015-11-23 20:20:35
【问题描述】:

我对数据模型做了一些更改,我需要更新实体“文件”。以前,这个实体只有一个绝对路径的引用。

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

在各个实体框架的代码迁移期间一起/在执行此操作是否可靠/可取? 这种迁移将发生在涉及多个开发人员的项目上。 我正在尝试找出实现此迁移的最自动化方式。

对于此类迁移是否有任何指导方针/方法?

【问题讨论】:

  • 哇,这听起来很酷,但为什么?我只是好奇:)
  • @Heberda 有些文件我们不能静态提供。我们使用 sql 文件流存储它们,并通过文件控制器将它们提供给用户。
  • 有趣,感谢回复:) 祝你好运,有点超出我的水平哈哈

标签: c# entity-framework code-migration


【解决方案1】:

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

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

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

【讨论】:

  • 看来要走的路,我会等几天将其标记为已回答,以防其他人参与。
【解决方案2】:

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

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

然后,在以后的迁移中,当您确认所有数据都已传输后,您可以删除 filePath 列。

【讨论】:

  • 这听起来很合理,但我更愿意让这个过程自动化一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 2016-05-14
  • 2020-12-07
  • 2018-02-24
  • 1970-01-01
相关资源
最近更新 更多