解决方法
据我所知,在System.Data.sqlite.dll中没有内置功能来完成此任务.但是,与sqlite核心一起维护的sqlite3.exe客户端中存在该功能.
这是我用system.data.sqlite.dll做的方法:
select sql from sqlite_master where name not like 'sqlite_%';
select name from sqlite_master where type='table' and name not like 'sqlite_%';
>在一些新的sqliteConnection中创建磁盘数据库.
>执行所有以前获取的sql语句,以在磁盘数据库中创建数据库结构.
>关闭与磁盘数据库的单独连接.
>将磁盘数据库附加到内存数据库.
attach 'ondisk.db3' as 'ondisk';
>对于先前获得的每个用户表,将内容从内存中复制到磁盘数据库.
insert into ondisk.TableX select * from main.TableX; insert into ondisk.TableY select * from main.TableY;