This is a port of the Sterling Open Source NoSQL Database.
Read the related blog post: .NET Core 20 is Ready and Sterling Proves It!
NOTE: Sterling is not currently intended for production use. It was ported to demonstrate what's new in .NET Core 2.0 and the increased surface area of the .NET Standard 2.0 APIs.
The engine uses the following features that did not exist in .NET Core 1.0:
BackgroundWorker
to save lists on a separate threadType
methods including:IsAssignableFrom
IsEnum
- Reflection, including properties and fields
- Binary reader and writer
- Memory stream
You must have .NET Core 2.0 installed.
Clone the repository:
https://github.com/JeremyLikness/sterling-net-core.git
Navigate to the test directory:
cd sterling-net-core/sterling-console-test
Build the project:
dotnet build -c Release
There is not a NuGet package for the Sterling .NET Core database as of this writing. Instead, the test project has a relative path reference to the
sterling-core
source.
Navigate to the build directory:
cd bin/Release/netcoreapp2.0/
Run the test:
dotnet sterling-console-test.dll
You're in business!
The USDA importer will grab foods from the publicly available USDA nutrition database and import into Sterling. For demo purposes, it will filter just a few nutrient types (protein, carbohydrate, and fat) and import only foods in the "Cereal" group. You can tweak these as needed but the memory driver has not been optimized and runs slow for large data sets.
The importer demonstrates the use of an index to sort by nutrient quantities. This isn't a "true" sort because they are not multiplied by weight values, but generally should approximate the right order.
cd sterling-net-core/usda-importer
dotnet build -c Release
dotnet bin/Release/netcoreapp2.0/usda-importer.dll
Follow me on Twitter: @JeremyLikness