C# SQLCe 在不加载整个表的情况下使用 DataSet 插入新行?
Posted
技术标签:
【中文标题】C# SQLCe 在不加载整个表的情况下使用 DataSet 插入新行?【英文标题】:C# SQLCe Inserting new rows with DataSet without loading the whole table? 【发布时间】:2011-11-07 15:21:29 【问题描述】:我有一个带有表的 SQLCe 数据库。在应用程序中有一个方法应该只向该表插入新行。
我想知道这样做的最佳做法是什么。使用 DataSet 时,必须将整个表加载到其中。
对我来说,这似乎有点过头了,因为我只想插入新行,因此不需要用整个表填充 DataSet。
另一方面,使用显式 INSERT 语句手动插入每一行似乎也非常无效。
因此,为了进行“批处理”-INSERT,需要使用 DataSet。是否有可能在不填充整个表的情况下使用 DataSet,例如只获取表的模式,然后将行插入数据集?
非常感谢,
于尔根
【问题讨论】:
【参考方案1】:针对 SQL Server Compact 数据库使用 DataSet 效率非常低。您应该使用 SqlCeResultSet 或我的包装器 lbrar,它允许您基于 DataTable、DataReader 甚至对象列表非常快速地执行批量 INSERT。 http://sqlcebulkcopy.codeplex.com
【讨论】:
感谢链接。 SqlCeBulkCopy 就是我要找的。span>以上是关于C# SQLCe 在不加载整个表的情况下使用 DataSet 插入新行?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不实例化整个 Laravel 的情况下加载 Laravel 模型?