Тут для 2PC так как используется нативыный клинт для запрсоов в базу в SAGA все автоматизировано
Скачайте пакет Npgsql
dotnet add package NpgsqlЗапустите скрипт для каждого сервиса
create database inventoryDb;
create table products
(
id serial primary key,
product_name text,
price decimal,
product_count bigint,
description varchar
);
create table transactions
(
id serial primary key,
unique_transaction_id varchar
);
create database orderdb;
create table orders(
id serial primary key,
user_id int,
amount decimal,
product_id int
);
create database paymentdb;
create table payments(
id serial primary key,
user_id int,
price int,
product_id int,
)
create table shippingdb;
create table shippings(
id serial primary key,
product_id int,
user_id int
);
max_prepared_transactions = 100
TransactionId нужно отправлять уникальный всем сервисам, потому что если он будет один, то сервисы не смогут создать его, так как будет дубликат