2011-02-17 67 views
2

我试图构建一个.net类,以在SQL Server精简版中对一些重要数据进行紧急备份。这不是一个大量的数据,但它确实有一个相当复杂的数据结构(具有重要交叉引用的30多个表)。我们使用实体框架来完成大部分数据工作。将复杂的SQL Server 2008数据备份到SQL Server精简版(sqlce)

有关使用sqlce和.net的文档似乎有点薄弱,目前我正在努力一点。我创建了数据库文件(.sdf)很容易,但理想情况下,我希望能够指定文件的位置,而不是在默认情况下创建(C:\ Program Files(x86)\ Common Files \ microsoft在我的情况下共享\ DevServer \ 10.0)。这是可能的,如果是的话,如何?

更重要的是,我担心我将不得不手动重新创建所有30个以上的表格,这些表格不仅非常劳动密集,而且还不具有可扩展性。有没有办法 - 最好使用实体框架 - 从我们的中央数据库中获取我需要的数据子集,并将其插入到一个干净的SqlCE数据库中,让它自动创建必要的表格?

干杯, 马特

+0

不能使用SQL复制,与您SQL CE数据库的用户? – 2011-02-17 10:39:42

+0

也许[Microsoft Sync Framework](http://msdn.microsoft.com/en-us/sync/default)可能是您的解决方案? – 2011-02-17 11:14:48

回答

1

1)你就可以使用实体框架的脚本,但这可能只可在2010年VS在EF模式只需右击并选择从模型生成数据库。然后,您可以连接到数据库并运行脚本来生成表格。请注意,这也将改变您在该模型中的EF关联,并将其“钩”到新的数据库中。

1)a]您始终可以使用现有数据库在SQL Server中创建脚本。只需编写数据库脚本并选择所有表格,约束,触发器等。

2)您可能想要检查SQL CE中可用的数据类型。如果我记得正确,那么CE中不存在一些数据类型。