Example #1
0
        public void Setup()
        {
            _cn = new MockDbConnection(new QueryResult()
            {
                Return = 1
            }, ConnectionState.Open);
            _db = new DataConnection(new PostgreSQLDataProvider(PostgreSQLVersion.v95), _cn);

            _compiledLinqSet = CompiledQuery.Compile <DataConnection, Workflow, int>(
                (db, record) => db.GetTable <Workflow>()
                .Where(x => x.Id == record.Id && x.RowVersion == record.RowVersion)
                .Set(x => x.Status, record.Status)
                .Set(x => x.Result, record.Result)
                .Set(x => x.Error, record.Error)
                .Set(x => x.Steps, record.Steps)
                .Set(x => x.UpdateTime, record.UpdateTime)
                .Set(x => x.RowVersion, x => x.RowVersion + 1)
                .Set(x => x.StartTime, record.StartTime)
                .Set(x => x.ProcessedTime, record.ProcessedTime)
                .Set(x => x.CompleteTime, record.CompleteTime)
                .Update());
            _compiledLinqObject = CompiledQuery.Compile <DataConnection, Workflow, int>(
                (db, record) => db.GetTable <Workflow>()
                .Where(x => x.Id == _record.Id && x.RowVersion == _record.RowVersion)
                .Update(x => new()
            {
                Status        = record.Status,
                Result        = record.Result,
                Error         = record.Error,
                Steps         = record.Steps,
                UpdateTime    = record.UpdateTime,
                RowVersion    = x.RowVersion + 1,
                StartTime     = record.StartTime,
                ProcessedTime = record.ProcessedTime,
                CompleteTime  = record.CompleteTime
            }));
        }
Example #2
0
        public int LinqObject()
        {
            int cnt = 0;

            for (var i = 0; i < _iterations; i++)
            {
                cnt = _db.GetTable <Workflow>()
                      .Where(x => x.Id == _record.Id && x.RowVersion == _record.RowVersion)
                      .Update(x => new()
                {
                    Status        = _record.Status,
                    Result        = _record.Result,
                    Error         = _record.Error,
                    Steps         = _record.Steps,
                    UpdateTime    = _record.UpdateTime,
                    RowVersion    = x.RowVersion + 1,
                    StartTime     = _record.StartTime,
                    ProcessedTime = _record.ProcessedTime,
                    CompleteTime  = _record.CompleteTime
                });
            }

            return(cnt);
        }