Net4x.DapperLibrary.Mock
1.9.9.7
See the version list below for details.
dotnet add package Net4x.DapperLibrary.Mock --version 1.9.9.7
NuGet\Install-Package Net4x.DapperLibrary.Mock -Version 1.9.9.7
<PackageReference Include="Net4x.DapperLibrary.Mock" Version="1.9.9.7" />
<PackageVersion Include="Net4x.DapperLibrary.Mock" Version="1.9.9.7" />
<PackageReference Include="Net4x.DapperLibrary.Mock" />
paket add Net4x.DapperLibrary.Mock --version 1.9.9.7
#r "nuget: Net4x.DapperLibrary.Mock, 1.9.9.7"
#:package Net4x.DapperLibrary.Mock@1.9.9.7
#addin nuget:?package=Net4x.DapperLibrary.Mock&version=1.9.9.7
#tool nuget:?package=Net4x.DapperLibrary.Mock&version=1.9.9.7
DapperLibrary.Mock
In-memory/mock provider integration for DapperLibrary. This project supplies a mock ADO.NET provider and a MockedDapperContext implementation useful for unit tests, integration tests and examples where a real database is not required.
Purpose
Provide a fast, deterministic, test-friendly mock provider that implements the same DapperContext surface without requiring an actual database engine. This enables unit tests to run quickly and independently of external resources.
Features
MockedDapperContext� aDapperContextimplementation backed by a mock provider.MockProviderFactory� a provider factory that delegates to a mockDbProviderFactory(MockFactory) and configuresParameterModelbehavior.MockDatabaseModel,MockDatabaseModelTypes,MockDatabaseEnumTypes� type and model mappings that mirror common SQL Server behaviors for compatibility with DapperLibrary APIs.- Adapter event forwarding for
RowUpdating/RowUpdatedon the mock data adapter used by the provider factory.
Key types
MockedDapperContext- Derives from
DapperContextand wires theMockProviderFactoryalong with configuration viaDapperConfigurationManagerscoped to the mock provider namespace. - Provides
Use,UseOnceandUse(string, string)helpers like other provider-specific contexts to integrate withDapperContextFactory. - When contexts are created via the helpers, the database model is configured with SQL Server-style defaults (identity initializer and datetime formatting).
- Derives from
MockProviderFactory- Inherits from
ProviderFactoryBaseand uses a runtime mockDbProviderFactoryfrom theMock.Dataassembly. - Sets
ParameterModel.ParameterPrefix = "@"andParameterModel.AddIndex = trueto emulate SQL Server-style parameter handling. - Installs
PrepareCommandParametersto keep parameter binding consistent with other providers in DapperLibraries.
- Inherits from
Usage
Create and use the mock context in tests:
using var context = new MockedDapperContext();
// use context.Operations / context.Schema / context.SaveDataTable etc.
Register the mock context creator for code that consumes DapperContextFactory:
MockedDapperContext.Use();
// or
MockedDapperContext.UseOnce();
Use a named connection if you need to emulate multiple connections:
MockedDapperContext.Use("Data Source=Mock;Provider=MockProvider");
Multi-targeting & compatibility
- The mock provider project targets legacy frameworks (net35/net40) in the repository to maximize compatibility with older test projects. The mock provider is intended for use in unit tests and should be referenced by test projects targeting compatible frameworks.
- Because the mock provider does not depend on external database drivers, it is useful across multiple target frameworks included in the solution.
Synchronous vs asynchronous behavior
- The mock provider implements the same synchronous and asynchronous method names as the real providers. Async variants may run synchronously under the hood depending on the mock implementation but maintain the same API contract which simplifies testing of async application code.
- Use the
Async-suffixed methods in tests to verify async flows; the mock provider's Task-returning methods will behave predictably for assertions.
Notes and best practices
- The mock provider mirrors SQL Server-like behavior for identifier delimiters and parameter conventions to minimize surprises in tests that also target SQL Server.
- Use the mock provider for unit tests where DB I/O is not required; for integration tests prefer provider-specific integration helpers (like
MockSqlServeror provider integrations) that exercise real database behavior.
For implementation details review MockProviderFactory, MockedDapperContext, and the DbContexts types in this project.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net35 is compatible. net40 is compatible. net403 was computed. net45 is compatible. net451 was computed. net452 was computed. net46 was computed. net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 3.5
- Net4x.AdoNet.Mock (>= 1.1.0)
- Net4x.DapperLibrary.Base (>= 1.9.9.7)
-
.NETFramework 4.0
- Net4x.AdoNet.Mock (>= 1.1.0)
- Net4x.DapperLibrary.Base (>= 1.9.9.7)
-
.NETFramework 4.5
- Net4x.AdoNet.Mock (>= 1.1.0)
- Net4x.DapperLibrary.Base (>= 1.9.9.7)
-
.NETFramework 4.6.1
- Net4x.AdoNet.Mock (>= 1.1.0)
- Net4x.DapperLibrary.Base (>= 1.9.9.7)
-
.NETStandard 2.0
- Net4x.AdoNet.Mock (>= 1.1.0)
- Net4x.DapperLibrary.Base (>= 1.9.9.7)
- System.Configuration.ConfigurationManager (>= 9.0.0)
-
.NETStandard 2.1
- Net4x.AdoNet.Mock (>= 1.1.0)
- Net4x.DapperLibrary.Base (>= 1.9.9.7)
- System.Configuration.ConfigurationManager (>= 9.0.0)
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.9.9.26271 | 90 | 9/28/2026 |
| 1.9.9.26270 | 87 | 9/27/2026 |
| 1.9.9.26263 | 92 | 9/20/2026 |
| 1.9.9.26248 | 110 | 9/4/2026 |
| 1.9.9.26247 | 102 | 9/4/2026 |
| 1.9.9.9 | 140 | 7/27/2026 |
| 1.9.9.8 | 145 | 2/2/2026 |
| 1.9.9.7 | 130 | 1/13/2026 |
| 1.9.9.6 | 131 | 1/6/2026 |
| 1.9.9.5 | 135 | 1/6/2026 |
| 1.9.9.4 | 130 | 1/6/2026 |
| 1.9.9.3 | 132 | 1/5/2026 |
| 1.9.9.2 | 139 | 12/30/2025 |
| 1.9.9.1 | 130 | 12/30/2025 |
| 1.9.9 | 219 | 12/22/2025 |
| 1.6.0.12 | 173 | 12/12/2025 |
| 1.6.0.11 | 160 | 12/12/2025 |
| 1.6.0.10 | 490 | 12/9/2025 |
| 1.6.0.9 | 249 | 12/4/2025 |
| 1.6.0.8 | 247 | 12/4/2025 |