gpt4 book ai didi

c# - 以编程方式重新创建现有的sql server数据库?

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:17 27 4
gpt4 key购买 nike

是否可以复制现有数据库,或者生成sql,然后针对sql数据库运行它以创建现有数据库的副本?

我不在乎数据,仅在乎架构。

我想为单元测试做这件事。我知道我只能使用sqlite,但是我很好奇它如何工作。

我没有任何存储的过程或任何东西,只是表和PK / FK等。

我猜最好的方法是以某种方式生成sql模式,然后对数据库运行它。

或者,如果更简单,请复制数据库,然后截断表。

注意:我想知道如何以编程方式完成此操作。

最佳答案

您可以通过右键单击数据库->任务->从sql management studio中生成脚本来生成脚本。
在向导中,您可以在高级设置下(取决于sql管理工具的版本)选择是否要使用架构,数据或两者。


更新

要以编程方式创建数据库,可以使用生成的sql并通过ADO.NET执行它。
或者,如果您使用CodeFirst,则可以在测试类中为上下文设置CreateDatabaseIfNotExists初始化程序时,它可以自动执行此操作。您可以使用Visual Studio的Entity Framework Power Tools对现有应用程序进行反向工程,从而从数据库中创建CodeFirst上下文。在这种情况下,您只需指定到不存在数据库的连接字符串,CF就会为您创建连接字符串。您还可以指定DropCreateDatabaseAlways,以便每次运行测试时都刷新数据库(与每次在将有问题的数据库放置到生成的sql脚本之前,每次执行sql查询一样)
如果使用代码优先,则无需生成sql脚本。

如果您喜欢这些方法中的任何一种,我可以为您提供更多资源吗?

关于c# - 以编程方式重新创建现有的sql server数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7508006/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com