Dvchevskii.Optional.EntityFrameworkCore
1.1.0-async.2
This is a prerelease version of Dvchevskii.Optional.EntityFrameworkCore.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Dvchevskii.Optional.EntityFrameworkCore --version 1.1.0-async.2
NuGet\Install-Package Dvchevskii.Optional.EntityFrameworkCore -Version 1.1.0-async.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dvchevskii.Optional.EntityFrameworkCore" Version="1.1.0-async.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Dvchevskii.Optional.EntityFrameworkCore --version 1.1.0-async.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Dvchevskii.Optional.EntityFrameworkCore, 1.1.0-async.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Dvchevskii.Optional.EntityFrameworkCore as a Cake Addin #addin nuget:?package=Dvchevskii.Optional.EntityFrameworkCore&version=1.1.0-async.2&prerelease // Install Dvchevskii.Optional.EntityFrameworkCore as a Cake Tool #tool nuget:?package=Dvchevskii.Optional.EntityFrameworkCore&version=1.1.0-async.2&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Dvchevskii.Option
Provides utility type Option<T>
for optional value handling
Installation
Package manager console
Install-Package Dvchevskii.Optional
.NET CLI
dotnet add package Dvchevskii.Optional
Usage
Create an Option<T>
from T value
Option<int> option = Option.Some(42);
Assert.IsTrue(option.IsSome());
Create an empty Option<T>
Option<int> option = Option.None<int>();
Assert.IsTrue(option.IsNone());
Mapping
string MapOption(Option<int> option)
{
return option.MapOrElse(
value => $"I have value: {value}",
() => "I have no value =("
);
}
Assert.AreEqual(
MapOption(Option.Some(42)),
"I have value: 42"
);
Assert.AreEqual(
MapOption(Option.None<int>()),
"I have no value =("
);
Pattern matching
int PatternMatchOption<T>(Option<T> option) =>
option switch {
ISome => 42,
INone => 69
};
bool IsOptionSome<T>(Option<T> option) => option is ISome;
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Dvchevskii.Optional (>= 1.1.0-async.2)
- Dvchevskii.Optional.Async (>= 1.1.0-async.2)
- Microsoft.EntityFrameworkCore (>= 8.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.1.1 | 97 | 5/3/2024 |
1.1.0 | 125 | 4/25/2024 |
1.1.0-ef-core.2 | 75 | 3/16/2024 |
1.1.0-async.2 | 58 | 3/15/2024 |