-
Notifications
You must be signed in to change notification settings - Fork 14
Starting From Scratch

This page describes a basic path for creating a new Harmony Core service from scratch using Harmony Core templates and the CLI Tool.
Make sure your system meets the prerequisites listed on the Required Tools page. This includes Visual Studio, .NET, Synergy/DE, Harmony Core templates, and the CodeGen tool for generating Harmony Core components.
There are two Harmony Core templates that can serve as starting points for Harmony Core solutions:
-
The harmonycore template — recommended if you want a minimal, clean starting point and intend to follow the step‑by‑step tutorial Creating a Basic Solution for an introduction to Harmony Core components.
-
The harmonydemo template — recommended if you want a working demo service you can quickly set up, start, and explore. See Tutorial 01 01 Building a Demo Service.
Both templates are described in the Solution Templates page.
As you follow one of the tutorials listed above, you'll create the scaffolding for the project, build a solution using standard .NET build tooling, and then run the resulting service.
In addition to the template you use to create the basic solution, you'll use the CLI Tool to drive code generation. The CLI Tool keeps your project consistent and updates generated code. See Introduction to the Harmony Core CLI Tool for more information.
Completing one of the tutorials validated that your environment, templates, and generation settings are configured correctly and can serve as the basis for your own Harmony Core service.
Once the project builds and runs, you can begin adding your own functionality. Typically this includes adding data-centric and code-centric RESTful endpoints, but it can also include other components, such as Traditional Bridge for accessing Synergy logic. As with the previous step, you'll use the CLI Tool to generate code, keep your project consistent, and update generated code.
-
Tutorial 2: Building a Service from Scratch
- Creating a Basic Solution
- Enabling OData Support
- Configuring Self Hosting
- Entity Collection Endpoints
- API Documentation
- Single Entity Endpoints
- OData Query Support
- Alternate Key Endpoints
- Expanding Relations
- Postman Tests
- Supporting CRUD Operations
- Adding a Primary Key Factory
- Adding Create Endpoints
- Adding Upsert Endpoints
- Adding Patch Endpoints
- Adding Delete Endpoints
-
Harmony Core CLI Tool
-
OData Aware Tools
-
Advanced Topics
- CLI Tool Customization
- Adapters
- API Versioning
- Authentication
- Authorization
- Collection Counts
- Customization File
- Custom Field Types
- Custom File Specs
- Custom Properties
- Customizing Generated Code
- Deploying to Linux
- Dynamic Call Protocol
- Environment Variables
- Field Security
- File I/O
- Improving AppSettings Processing
- Logging
- Optimistic Concurrency
- Multi-Tenancy
- Publishing in IIS
- Repeatable Unit Tests
- Stored Procedure Routing
- Suppressing OData Metadata
- Traditional Bridge
- Unit Testing
- EF Core Optimization
- Updating a Harmony Core Solution
- Updating to 3.1.90
- Creating a new Release
-
Background Information