Реализовать простую IFindSaga

У меня простой IFindSaga Реализовав, я сослался и выполнил те же действия, что и в конкретном программном документе для SQL Persistence Saga Finding Logic. Я получаю ошибку в session.GetSagaData<SagaData> основываясь на этом: "SynchronizedStorageSession не содержит определения для GetSagaData и нет метода расширения GetSagaData принимая первый аргумент типа SynchronizedStorageSession может быть найдено (если вы не используете директиву using или ссылку на сборку)."Пожалуйста, помогите мне решить эту проблему.

Это мой код, в котором я реализовал IFindSaga

public class TrackerFind : IFindSagas<SagaData>.Using<ITrackerData>
        {
            public Task<SagaData> FindBy(ITrackerData message, SynchronizedStorageSession session, ReadOnlyContextBag context)
            {
                return session.GetSagaData<SagaData>(
                    context: context,
                    whereClause: "JSON_VALUE(Data,'$.PaymentTransactionId') = @propertyValue",
                    appendParameters: (builder, append) =>
                    {
                        var parameter = builder();
                        parameter.ParameterName = "propertyValue";
                        parameter.Value = message.TrackerID;
                        append(parameter);
                    });
            }
        }

1 ответ

"GetSagaData" - это метод расширения, который является частью пространства имен "NserviceBus". включить следующее заявление

using NServiceBus;

Это сработало для меня. Я не получаю эту ошибку сейчас

Использовать нюгет

пакет NServiceBus.Persistence.Sql

Другие вопросы по тегам