{"repo":"lbotinelly/zen","free":true,"listed":false,"github":"https://github.com/lbotinelly/zen","clone":"git clone https://github.com/lbotinelly/zen.git","description":"Opensource, zero-setup database-agnostic .Net Core middleware","language":"C#","stars":13,"topics":["net-core","net-core-3","orm","rest-api","ioc"],"license":"MIT","category":"databases-storage","readme_excerpt":"Zen is platform-independent .NET Core middleware that simplifies the implementation of data-driven, API-focused apps. Oh, c'mon! Yet another do-it-all framework? Really? Not quite. Zen provides several features like ORM, caching, encryption and RESTful endpoints out of the box with zero setup in most cases. Think of it like a drop-in middleware that'll get your PoC app working with persistent storage to REST endpoints in no time and with minimal scaffolding - and you can add more features as the need arises. Its core aspect is the ability to handle data for multiple connectors at the same time, regardless of the target database: Both relational and document (no-SQL) models are supported. Pull data from Oracle and write to Mongo, this kind of stuff. Something basic: a database-backed console app To have it working straight out of the box we need Zen.Base (the ORM handler) and a database adapter; let's pick Zen.Module.Data.LiteDB for this example. - 📦 Zen.Base - 📦 Zen.Module.Data.LiteDB Extremely complicated example ahead. Pay attention! - Create a class that inherits from the Zen.Base.Module.Data< generic class; - Mark the property you want to use as a unique identifier with the [Key] Data Annotation attribute. C# example: using System.ComponentModel.DataAnnotations; using System; using Zen.Base.Module; namespace Test { public class Person : Data { [Key] public string Id { get; set; } public string Name { get; set; } } } W-wait, what have I just done? Congratulations! You cr","default_branch":null,"files":null,"tree":[],"storefront":"/r/lbotinelly","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/lbotinelly/zen/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}