【发布时间】:2015-02-18 10:34:40
【问题描述】:
我需要在不中断数据库工作的情况下导入大量数据。所以有两个表:Data 和 DataTemp(它们是相同的)。首先将数据上传到临时表,然后通过备份 Data 表并将 DataTemp 重命名为 Data 来交换表(此示例已简化 - 不止两个表)。本项目使用实体框架。
所以问题是:是否可以使用实体框架来使用 DataTemp 而无需复制架构中的 Data 表?有没有办法在执行最终 sql 之前编辑它以临时替换表名? OnModelCreating 不适合,因为它被调用一次,但我需要在不同时间使用这两个表。
谢谢!
【问题讨论】:
-
多个 DbContext 模型相同但根据需要配置不同的情况呢?
-
似乎是个好主意。我会试试看。谢谢!
-
如果第二个 DbContext 使用相同的架构,则意味着它也使用相同的映射并将数据保存到相同的表中。
-
如果您使用
DbModelBuilder和可能的EntityTypeConfiguration而不是数据注释来定义表映射,则不会,这是他的表之间唯一不同的地方 -
请注意,我自己没有尝试过该解决方案,因此为什么它是评论而不是答案
标签: entity-framework tablename