是否可以在Entity Framework 5 Code First迁移中进行任何类型的编程数据转换?
有一个 Sql ()方法来执行查询,但它的返回类型为void,我看不到任何方法来获取我执行的查询的结果。
示例
我的表 Recipe 与 Ingredient 有一对多的关系。由于各种原因,我想将其转换为Ingredients JSON字符串属性。我能想到的唯一方法就是这样:
答案 0 :(得分:1)
你应该使用db'初始化程序'来实现你想要的东西 - 和/或'种子'的排序(关于在哪里注入EF流程)。
您可> take a look at this post with a customized < initializer
- 执行Db Create ...和Migrate 。它不是剪切和粘贴解决方案,但大部分都可以工作(这只是快速解决问题,你需要调整一下,它有几个修复程序)。
MigrateDatabaseToLatestVersion
只需要移植部分 - 您需要seed
- 暴露 - 或手动包裹该部分(主要内容是针对不同情况进行'检查' - 即何时'参与'进入移民 - 或播种)。
首先应该进行迁移,并且除了播种之外,db'创建'类型没有多大意义。
您覆盖Seed
(您创建)以将任何数据库处理放在那里 - 您已公开DbContext
- 如果需要,您还可以调用SqlQuery
。
How to create initializer to create and migrate mysql database?