在使用 ADO.NET 时(也许我错了,我不知道它叫什么)我注意到我只能通过连接开始事务,并且命令似乎有 command.Transaction 获取事务数据但不启动事务本身?实际上,在查看时我在 System.Data.SQLite 中看到了这一点
// Summary:
// The transaction associated with this command. SQLite only supports one transaction
// per connection, so this property forwards to the command's underlying connection.
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public SQLiteTransaction Transaction { get; set; }
那么SQLite只支持一个事务周期?我尝试打开另一个连接,但随后我的事务引发了有关数据库被锁定的异常。那么我不能同时有多个连接吗?
是的,每个连接一个事务,但它可以有多个连接(每个连接都有自己的活动事务)。
Update:有趣的。我不知道共享缓存模式。如果您的连接使用该模式,则只有一个事务可用于使用同一共享缓存的所有连接。看SQLite 共享缓存模式 http://www.sqlite.org/sharedcache.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)