diff --git a/Directory.Packages.props b/Directory.Packages.props
index 2f46644..8de36a9 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -19,7 +19,7 @@
-
+
diff --git a/README.md b/README.md
index af56123..bc6a48c 100644
--- a/README.md
+++ b/README.md
@@ -169,6 +169,44 @@ public ActionResult CreateSummaryForecast([FromBody]
}
```
+### Chaining Result Operations with Bind and BindAsync
+
+You can chain together multiple operations that return `Result` using the `Bind` and `BindAsync` methods. This allows you to perform a sequence of operations where each operation can fail, and if any operation fails, the subsequent operations will not be executed. This can be useful for eliminating checking for success after each Result operation with a more readable and maintainable chain of operations.
+
+```csharp
+[HttpPost("Summary")]
+public async Task> CreateSummaryForecast([FromBody] ForecastRequestDto model)
+{
+ var result1 = await _weatherService.GetSingleForecast(model);
+
+ if (!result1.IsSuccess)
+ {
+ return result1.ToActionResult(this);
+ }
+
+ var result2 = await _weatherService.GetForecastDetailsAsync(result1.Value.Id);
+
+ return result2
+ .Map(details => new WeatherForecastSummaryDto(details.Date, details.Summary))
+ .ToActionResult(this);
+}
+```
+
+With the `Bind` and `BindAsync` methods, you can simplify this code by chaining the operations together. The following example demonstrates how to use `BindAsync` to achieve the same result in a more concise manner:
+
+```csharp
+[HttpPost("BindedForecast")]
+public async Task> CreateSummaryForecastWithBind([FromBody] ForecastRequestDto model)
+{
+ return await _weatherService.GetSingleForecast(model)
+ .BindAsync(wf => _weatherService.GetForecastDetailsAsync(wf.Id))
+ .Map(details => new WeatherForecastSummaryDto(details.Date, details.Summary))
+ .ToActionResult(this);
+}
+```
+
+In this example, if `GetSingleForecast` returns a failure result, `GetForecastDetailsAsync` will not be called, and the failure will propagate through the chain. If all operations succeed, the final result will be mapped to a `WeatherForecastSummaryDto` and returned as an `ActionResult`.
+
## ASP.NET API Metadata
By default, Asp Net Core and API Explorer know nothing about `[TranslateResultToActionResult]` and what it is doing. To reflect `[TranslateResultToActionResult]` behavior in metadata generated by API Explorer (which is then used by tools like Swashbuckle, NSwag etc.), you can use `ResultConvention`: