草庐IT

高速批量插入

全部标签

c# - 为什么 ObservableCollection 不支持批量更改?

ObservableCollection支持AddRange或RemoveRange等操作会导致哪些潜在问题?既然ObservableCollection如此频繁地与WPF一起使用,那么Microsoft不提供它们肯定是有原因的。您可以实现自己的支持批量操作的集合并实现INotifyCollectionChanged。如果我将这样的控件绑定(bind)到ItemsControl会发生什么情况?有人知道不支持批量更改的ItemsControls吗? 最佳答案 我不认为它有任何潜在的缺点或问题,只是它不存在。事实上,您会发现“Syste

c# - 如何强制报表始终插入分页符?

我在VisualStudio2012中创建了一个包含两个报表定义的报表。主报告部分每辆车重复一次,它有一个子报告,该部分为车辆的每次交付重复一次。主要报表设计如下所示:左侧的橙色条表示已选中所有其他元素所在的矩形。我在上面设置了以下属性:我还在包含其他元素的Tablix上设置了Addapagebreakbefore和Addapagebreakafter:此报表设计上没有其他Rectangle或Tablix。我的问题是它并不总是在前后进行分页。在只有少量信息的页面上,它将每辆车放在同一页面上,如下所示:但是当一个车辆长于一个页面时,它会溢出到下一页,而下一个车辆不会在它之前添加分页符,就

c# - 解析 C# 代码(作为字符串)并插入其他方法

我有一个正在开发的C#应用程序,它可以远程加载它的代码,然后运行它(为了论证,您可以假设该应用程序是安全的)。代码是C#,但它作为XML文档发送,解析为字符串,然后编译和执行。现在,我想做的-比我预期的要困难一些-能够解析整个文档,并在编译之前,在每行执行后插入额外的命令。例如,考虑以下代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;namespaceMyCode{staticclassMyProg{staticvoidRun(){inti=0;i++;Log(i);}}}我想要的,在解析之后更像是:usi

c# - 如何在单个事务中将文件写入磁盘并插入数据库记录?

我正在尝试将文件写入磁盘以及通过存储过程将数据插入数据库,所有这些都在原子事务中进行。即,如果这两个操作中的任何一个失败(文件无法写入磁盘或存储过程失败),我什么都不做,只是将异常抛回给调用者。关于如何最好地处理文件写入和数据库插入的原子事务有什么建议吗?附加信息:我在MSSQLServer中使用带有存储过程的C#.NET,但不一定针对这些技术量身定制的通用解决方案也很好。更新:在查看了以下所有答案并研究了其他答案后,我写了thispost关于如何使用3种不同的方法解决这个问题。 最佳答案 你需要使用新的TxF,Vista、Wind

c# - Entity Framework 更新/插入多个实体

只是我要完成的事情的概述。我们在我们的应用程序中保留远程数据库(第3方)的本地副本。我们使用api下载信息。我们目前按计划下载信息,然后将新记录插入本地数据库或更新现有记录。这是它目前的工作方式publicvoidProcessApiData(ListapiData){//gettheexistingaccountsfromthelocaldatabaseListexistingAccounts=_accountRepository.GetAllList();foreach(accountinapiData){//checkifitalreadyexistsinthelocaldata

c# - Azure 表存储批量插入多个分区?

以下方法可用于将实体集合作为单个事务批量插入:CloudTable.ExecuteBatch(TableBatchOperationbatch)如果任何实体在插入过程中失败,则不会从集合中插入任何内容。这仅在插入一个分区时可用。是否可以跨多个分区执行类似的操作? 最佳答案 没有。批处理中的所有实体必须具有相同的PartitionKey。如果您的实体具有不同的PartitionKey,则它们需要在不同的批处理中。更多实体批量交易详情请看这里:http://msdn.microsoft.com/en-us/library/windows

c# - 批量插入时如何自动截断字符串?

我想向SQLServer插入许多行(由EntityFramework对象构建)。问题是,某些字符串属性的长度超过了数据库中列的长度,这会导致异常,然后所有行将无法插入到数据库中。所以我想知道是否有办法告诉SqlBulkCopy自动截断任何超长行?当然,如果每个属性超过限制长度,我可以在将其插入到DataTable之前检查并对其进行子字符串化,但这会减慢整个程序的速度。 最佳答案 始终使用暂存/加载表进行批量操作。然后您可以在刷新到真实表之前处理、清理、清理等数据。这包括LEFT、查找、去重等所以:加载一个包含宽列的暂存表使用INSE

c# - 在 Visual Studio 片段中插入当前日期时间

有谁知道我可以在visualstudio2008片段中插入当前日期和时间的方法吗?我想要的是我的.snippet文件正文中的类似内容... 最佳答案 没有可用于片段的DateTime函数,但这里有一个将插入当前DateTime的宏:SubPrintDateTime()If(NotIsNothing(DTE.ActiveDocument))ThenDimselectionAsTextSelection=DTE.ActiveDocument.Selectionselection.Insert(DateTime.Now.ToString(

c# - 如何使用 OpenXML 在 powerpoint 幻灯片中插入形状

这个问题看起来很基础,但是如何在C#中使用OpenXML在幻灯片中插入形状(即矩形)?我四处搜索,我所看到的只是“创建一个带有形状的幻灯片并使用SDK生产力工具来反射(reflect)代码。这并不是很有帮助:( 最佳答案 在我的头撞墙了一段时间后,我终于接受了建议,创建了一个带有形状的幻灯片并使用工具来反射(reflect)代码。因此,对于下一代,这里简要说明如何手工制作。首先您需要知道的是形状被插入到ShapeTree中,它是CommonSlideData的一部分:Slides=GetDesiredSlide();//Getthe

c# - 无法使用sqlbulkcopy插入数据表

这是我的代码,包含以下列,在数据库中,这些列是nvarchars。SqlBulkCopybulkCopy=newSqlBulkCopy(connection,System.Data.SqlClient.SqlBulkCopyOptions.Default,transaction);bulkCopy.DestinationTableName="Test";bulkCopy.ColumnMappings.Add("Number","Code");bulkCopy.ColumnMappings.Add("Type","Type");bulkCopy.ColumnMappings.Add("G