种子数据的实际限制

比特损失

活跃成员
已加入
2016年12月10日
留言内容
35
编程经验
Beginner
种子方法可以填充的数据量是否有实际限制?

我有成千上万的产品线要添加到我的数据库中。这样说,我现在有一个供应商清单,而这个供应商有18,000种产品。我还有另外14家供应商,其产品数量各不相同。

我注意到,到目前为止,我仅添加了这个次要列表,而VS却很难过。

在这种情况下,还有另一种方法吗?除了EF播种以外,还有其他选择吗?还是我的内衣还有其他限制?
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,566
地点
悉尼,澳大利亚
编程经验
10+
因此,您只是在谈论在数据库中使用自动生成的主键。在这种情况下,您可以在C#代码中将其声明为“ int”或“ long”类型,在SQL Server中将其转换为“ int”或“ bigint”。这意味着32位整数或64位整数。您可以计算每个值的最大值,在网络上查找它们,或使用“帮助”菜单打开MSDN文档并查找Int32.MaxValue和Int64.MaxValue。
 

比特损失

活跃成员
已加入
2016年12月10日
留言内容
35
编程经验
Beginner
因此,您只是在谈论在数据库中使用自动生成的主键。在这种情况下,您可以在C#代码中将其声明为“ int”或“ long”类型,在SQL Server中将其转换为“ int”或“ bigint”。这意味着32位整数或64位整数。您可以计算每个值的最大值,在网络上查找它们,或使用“帮助”菜单打开MSDN文档并查找Int32.MaxValue和Int64.MaxValue。

没有。不是我在问什么。

我问种子数据中包含多少实用内容是否有限制?当我添加第一个供应商产品列表时,VS陷入了困境。简单地,当我将记录添加到种子数据方法中时,它进入了一个Format单词,依此类推。在解决问题之前,这花费了相当长的时间,大约15分钟。当我粘贴下一个30,000时会发生什么?

我同时也问是否可以有一个单独的种子数据文件?总的来说,我想知道是否可能有很多而不是一个大的。认为它可以帮助减少VS的开销。
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,566
地点
悉尼,澳大利亚
编程经验
10+
当您得知我真的不想通读您链接的整个页面来确定您的意思时,会感到惊讶吗?看来问题在于使用EF将数据加载到数据库中的速度很慢。您如何准确地向我们展示您的所作所为,以便我们看看是否有什么问题?向我们展示您应该做的事情没有多大意义,因为只有在您确实做到这一点的情况下,这才有帮助。
 

比特损失

活跃成员
已加入
2016年12月10日
留言内容
35
编程经验
Beginner
当您得知我真的不想通读您链接的整个页面来确定您的意思时,会感到惊讶吗?看来问题在于使用EF将数据加载到数据库中的速度很慢。您如何准确地向我们展示您的所作所为,以便我们看看是否有什么问题?向我们展示您应该做的事情没有多大意义,因为只有在您确实做到这一点的情况下,这才有帮助。

没有看到如何显示您将帮助它不是代码问题。尽管如此
C#:
Staring at line 2213
new Product { EqTypeID= 16,  ProductCode ="G2RV-SL700 AC240" , ProductDescription="Omron Relay & Base (240vac)" , CostPrice=x.9m , SupplierID=70, CostUpdateDate=DateTime.Parse("30/04/2017") },
new Product { EqTypeID= 16,  ProductCode ="M22N-BC-TRA-RE" , ProductDescription="Omron Pilot light Red c/w LED (240vac)" , CostPrice=x.5m , SupplierID=70, CostUpdateDate=DateTime.Parse("30/04/2017") },
new Product { EqTypeID= 16,  ProductCode ="M22N-BC-TGA-GE" , ProductDescription="Omron Pilot Light Green c/w LED (240vac)" , CostPrice=x.5m , SupplierID=70, CostUpdateDate=DateTime.Parse("30/04/2017") },
new Product { EqTypeID= 16,  ProductCode ="A22NS-2RM-NBA-G100-NN" , ProductDescription="Omron Selector Switch 2 Position Maintained" , CostPrice=x.6m , SupplierID=70, CostUpdateDate=DateTime.Parse("30/04/2017") },
new Product { EqTypeID= 16,  ProductCode ="A22Z-3323" , ProductDescription="Omron Legend Plate (Blank)" , CostPrice=x.8m , SupplierID=70, CostUpdateDate=DateTime.Parse("30/04/2017") },
new Product { EqTypeID= 16,  ProductCode ="A22Z-3443B-10" , ProductDescription="Omron Legend Insert (On-Off)" , CostPrice=x.5m , SupplierID=70, CostUpdateDate=DateTime.Parse("30/04/2017") },
new Product { EqTypeID= 16,  ProductCode ="E5CC-RX2ABM-800, Starter Pack 1" , ProductDescription="Omron Temp Controller, C/W Type K Thermocouple" , CostPrice=xm , SupplierID=70, CostUpdateDate=DateTime.Parse("30/04/2017") },
new Product { EqTypeID= 16,  ProductCode ="F202 25" , ProductDescription="ABB RCCB 2P 25A 30mA   " , CostPrice=xm , SupplierID=70, CostUpdateDate=DateTime.Parse("30/04/2017") },
....
new Product { EqTypeID= 1,  ProductCode ="VP50" , ProductDescription="High Pressure 50L 1600 BAR" , CostPrice=x.25m , SupplierID=35, CostUpdateDate=DateTime.Parse("22/05/2017") },
new Product { EqTypeID= 1,  ProductCode ="VP80" , ProductDescription="High Pressure 80L 1600 BAR" , CostPrice=xm , SupplierID=35, CostUpdateDate=DateTime.Parse("22/05/2017") },
new Product { EqTypeID= 1,  ProductCode ="VP100" , ProductDescription="High Pressure 100L 1600 BAR" , CostPrice=x.5m , SupplierID=35, CostUpdateDate=DateTime.Parse("22/05/2017") },
new Product { EqTypeID= 1,  ProductCode ="VP200" , ProductDescription="High Pressure 200L 1600 BAR" , CostPrice=x.25m , SupplierID=35, CostUpdateDate=DateTime.Parse("22/05/2017") }, 
Ending at line 21279

我已将价格数据替换为X,因为它是机密信息。

它的庞大数量似乎使Visual Studio陷入困境。这就是为什么我问我可以拆分初始化程序代码的原因。我意识到这可能是一个非常简单的问题,但是我不喜欢先检查一下再做。
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,566
地点
悉尼,澳大利亚
编程经验
10+
这就是为什么我问我可以拆分初始化程序代码的原因。
您只是将数据添加到数据库中。应用程序不是一直都在部分向数据库添加数据吗?大概在该代码中有一个调用,将您的新数据提交到数据库。尽管被要求显示您在做什么,但您尚未包括在内。大概您可以通过初始化代码进行多个此类调用。如果存在内存使用问题,则可能必须清除之间的数据列表。我猜您从来没有做过您想做的事情,但是有一些明显的逻辑步骤要针对这种情况而不是特定的。
我意识到这可能是一个非常简单的问题,但是我不喜欢先检查一下再做。
情况应该相反。鉴于您可以轻松回滚此类更改,因此应该首先进行测试,然后再询问所发生的特定问题,或者至少向我们确切说明您所做的事情,并询问是否存在潜在问题。无论哪种方式,您都是特定的。
 
最佳 底部