我想使用Visual Studio 2008 IDE编辑SQL Server Compact 3.5数据库的本地数据库架构。但是,文档和UI中的所有内容似乎都假设应用程序/程序集只想使用单个数据库,并且永远不希望基于现有模式创建新数据库。
我希望能够使用可视化工具编辑数据库模式,然后根据编辑的模式创建新的数据库文件。这样,我的应用程序创建的每个文档都将存储在各自独立的数据库文件(.sdf)中。此外,为了进行单元测试,我希望能够创建空的临时.sdf文件,以便在空数据库上运行我的单元测试。
我知道如何使用现有架构创建新的空数据库的唯一方法就是将我的主.sdf文件复制到新文件中。
使用C#代码创建新的.sdf文件的推荐方法是什么?即,如何实现MyModel.Create(“foo.sdf”),以便使用我在Visual Studio中创建的模式创建.sdf文件。
编辑:经过长时间的调查,我最终完全放弃了VS2008本地数据库.sdf编辑器,并开始使用LINQ-to-SQL创建新的.sdf文件。我现在只是指定一堆C#类,注释它们以使用LINQ-to-SQL并通过调用我的DataContext的CreateDatabase方法创建新的数据库文件。 MSDN上有一个很好的文档:How to: Dynamically Create a Database (LINQ to SQL)
答案 0 :(得分:3)
创建一个“model.sdf”数据库,其中包含架构以及可能需要的初始数据。如果要创建新数据库,请从此模型创建副本。
您还可以create the Sql-DDL from an existing database(alternative link),然后创建一个空数据库并在其上执行此SQL。这会慢得多。