gpt4 book ai didi

entity-framework - EF5 Code First 迁移中的程序化数据转换

转载 作者:行者123 更新时间:2023-12-02 03:47:44 26 4
gpt4 key购买 nike

是否可以在 Entity Framework 5 Code First 迁移中进行任何类型的程序化数据转换?

有一个 Sql() 方法来执行查询,但它的返回类型为 void,我看不到任何方法来获取我执行的查询的结果。

示例

我有一个表 RecipeIngredient 具有一对多关系。由于各种原因,我想将其转换为 Ingredients JSON 字符串属性。我能想到的唯一方法是这样的:

  • 创建新列IngredientsJson
  • 对于每个食谱,查询其成分,以编程方式构建一个 JSON 字符串并插入到新列中。
  • 放弃旧表成分

最佳答案

您应该根据需要使用 db 'initializer' - 和/或某种类型的 'Seed'(关于在何处注入(inject) EF 流)。

您可以 > take a look at this post with a customized < initializer - 同时执行 Db Create... 和 Migrate。它不是剪切和粘贴解决方案,但大部分都有效(它只是快速解决问题,您需要稍微调整一下,它在下面有几个修复)。

MigrateDatabaseToLatestVersion 仅包含迁移部分 - 并且您需要 seed - 暴露 - 或手动包装该部分(重点是针对不同情况完成的“检查” - 即何时“参与”迁移 - 或播种)。

迁移应该先行,数据库“创建”没有多大意义,除了播种。

您覆盖 Seed(您创建的)以将任何数据库处理放在那里 - 您有 DbContext 公开 - 您还可以调用 SqlQuery如果需要的话。


How to create initializer to create and migrate mysql database?

关于entity-framework - EF5 Code First 迁移中的程序化数据转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15865767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com