相关疑难解决方法(0)

多线程环境中的PetaPoco事务

我只是以多线程方式测试PetaPoco Transaction ...

我有一个简单的测试用例:

- 简单值对象称之为MediaDevice - 插入记录并将其更新1000次

void TransactionThread(Object object)
{


    Database db = (Database) object;

    for(int i= 0; i < 1000;i++)
    {


        Transaction transaction = db.GetTransaction();

        MediaDevice device = new  MediaDevice();
        device.Name = "Name";
        device.Brand = "Brand";

        db.Insert(device);

        device.Name = "Name_Updated";
        device.Brand = "Brand_Updated";


        db.Update(device);

        transaction.Complete();

    }


    long count = db.ExecuteScalar<long>("SELECT Count(*) FROM MediaDevices");

    Console.WriteLine("Number of all records:" + count);

}
Run Code Online (Sandbox Code Playgroud)

我在这两个线程中调用它:[两个线程的单个数据库对象]

void TransactionTest()
{

    Database db =  GetDatabase();

    Thread tThread1 = ... // thread for  TransactionTest()

    Thread …
Run Code Online (Sandbox Code Playgroud)

petapoco

6
推荐指数
1
解决办法
2983
查看次数

标签 统计

petapoco ×1