PetaPoco事务隔离级别

时间:2012-10-31 06:10:37

标签: c# sql-server petapoco

我有一个c#windows服务,它使用PetaPoco更新数据库中的数据,所有这些都包含在一个事务中。但是,我需要数据库在事务运行时可用于查询(Web应用程序,通过ODBC连接运行查询),但如果在提交事务时查询,我的数据库出现“灾难性故障”错误。目前正在针对MS SQL Server进行测试,但也需要针对Oracle数据库进行测试。

有没有办法为PetaPoco交易设置事务隔离级别,在这种情况下这可能是解决方案吗?

1 个答案:

答案 0 :(得分:0)

事实证明,“灾难性故障”消息源于数据库中由于PetaPoco和我现有的Web应用程序更新引起的死锁。我通过使用

锁定表来解决这个问题
SELECT TOP 1 * FROM [TABLENAME] WITH (TABLOCKX) 

在PetaPoco交易开始时查询。