C# 实体框架将数据从一个数据库移动/归档到另一个数据库

C# 实体框架将数据从一个数据库移动/归档到另一个数据库,c#,sql-server,entity-framework-5,C#,Sql Server,Entity Framework 5,我有以下情况: 我有一个高度事务性的生产数据库。为了保持查询的效率,我想将一些表中的数据归档到另一个具有完全相同模式的数据库中 表之间的关系不是很复杂,但任何依赖对象都必须与归档数据一起使用,以支持外键约束 有没有一种简单的方法可以使用实体框架来实现这一点?我试图创建两个不同的上下文,并在其中添加和删除,但这有点繁琐 如果实体框架不是实现这一点的最佳工具,那么什么是呢?在EF5中没有简单的方法可以做到这一点 如果您的数据库是MSSQL,您可以使用分区来创建归档表(有关更多信息,请参阅)。在EF5

我有以下情况:

我有一个高度事务性的生产数据库。为了保持查询的效率,我想将一些表中的数据归档到另一个具有完全相同模式的数据库中

表之间的关系不是很复杂,但任何依赖对象都必须与归档数据一起使用,以支持外键约束

有没有一种简单的方法可以使用实体框架来实现这一点?我试图创建两个不同的上下文,并在其中添加和删除,但这有点繁琐


如果实体框架不是实现这一点的最佳工具,那么什么是呢?

在EF5中没有简单的方法可以做到这一点


如果您的数据库是MSSQL,您可以使用分区来创建归档表(有关更多信息,请参阅)。

在EF5中没有简单的方法可以做到这一点


如果您的数据库是MSSQL,您可以使用分区来归档表(有关更多信息,请参阅)。

在什么条件下您希望归档数据?太旧的数据会以某个阈值进行归档?被删除的数据是否存档?您可以使用一整套业务逻辑在SSI中构建一些东西,但正确的方法是(很可能)使用分区。然而,它有许多利弊需要权衡。咨询DBA或者BI开发人员。@Ocelot20我使用EF对事务数据进行了一些复杂的查询。有数百万行,查询速度变慢。即使有适当的索引。我想将X个月以上的数据归档到一个单独的位置,以加快速度。在什么情况下,您想归档数据?太旧的数据会以某个阈值进行归档?被删除的数据是否存档?您可以使用一整套业务逻辑在SSI中构建一些东西,但正确的方法是(很可能)使用分区。然而,它有许多利弊需要权衡。咨询DBA或者BI开发人员。@Ocelot20我使用EF对事务数据进行了一些复杂的查询。有数百万行,查询速度变慢。即使有适当的索引。我想将超过X个月的数据归档到一个单独的位置,以加快速度。我不确定EF查询是否经过优化,不会在其他分区中查找数据。跨分区查询是有代价的。我不确定EF查询是否优化为不在其他分区中查找数据。跨分区查询是有代价的。