Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 种子数据库的策略_Sql Server - Fatal编程技术网

Sql server 种子数据库的策略

Sql server 种子数据库的策略,sql-server,Sql Server,我刚开始从事一个使用SQLServerDB的.NET项目。我得到了一个脚本,该脚本使用所有表、SP等设置数据库,但没有数据 我最初的冲动是进入数据库,手动输入一些虚拟数据来设置几个用户,等等,这样我就可以开始使用应用程序了。但是,每次我尝试添加记录时,外键约束都会妨碍我。不幸的是,我无法向您展示该模式,但在这种情况下,我是否可以遵循一般策略?如果您有FK的阻碍,您需要开始在所有“主”表中输入数据。然后可以将数据输入子表或明细表 例如,假设您有一个Orders表和一个Customers表,并且在O

我刚开始从事一个使用SQLServerDB的.NET项目。我得到了一个脚本,该脚本使用所有表、SP等设置数据库,但没有数据


我最初的冲动是进入数据库,手动输入一些虚拟数据来设置几个用户,等等,这样我就可以开始使用应用程序了。但是,每次我尝试添加记录时,外键约束都会妨碍我。不幸的是,我无法向您展示该模式,但在这种情况下,我是否可以遵循一般策略?

如果您有FK的阻碍,您需要开始在所有“主”表中输入数据。然后可以将数据输入子表或明细表

例如,假设您有一个Orders表和一个Customers表,并且在Orders和Customers之间有一个FK。“主表”将是客户,而在本例中,“明细表”将是您的订单表。您可能需要首先输入几个客户,以便在输入订单时,可以将客户分配给它,而不会因为没有客户而出现FK错误


我怀疑这个例子非常接近您遇到的问题类型。

如果您有FK的阻碍,您需要开始在所有“主”表中输入数据。然后可以将数据输入子表或明细表

例如,假设您有一个Orders表和一个Customers表,并且在Orders和Customers之间有一个FK。“主表”将是客户,而在本例中,“明细表”将是您的订单表。您可能需要首先输入几个客户,以便在输入订单时,可以将客户分配给它,而不会因为没有客户而出现FK错误


我怀疑这个例子与您遇到的问题类型非常接近。

确实如此。但我遇到了一个循环依赖。例如,要添加一个用户,我必须指定一个部门ID,但要添加一个部门,我必须指定部门负责人的用户ID。不幸的是,数据库设计不是由我决定的,我只需要处理给定的内容。因此,每个用户都被分配了一个部门,每个部门都有一个部门负责人,即用户。我假设一个用户不能在多个部门,否则这就行不通了。我想你在设计上有问题。但是,这将是一个单独的讨论。为了解决这个问题,我将使user表中的DepartmentID列可以为null,直到您输入所有用户,然后将其恢复为non-null。但我遇到了一个循环依赖。例如,要添加一个用户,我必须指定一个部门ID,但要添加一个部门,我必须指定部门负责人的用户ID。不幸的是,数据库设计不是由我决定的,我只需要处理给定的内容。因此,每个用户都被分配了一个部门,每个部门都有一个部门负责人,即用户。我假设一个用户不能在多个部门,否则这就行不通了。我想你在设计上有问题。但是,这将是一个单独的讨论。为了解决这个问题,我将使user表中的DepartmentID列可以为null,直到您输入了所有用户,然后将其恢复为non-null。