Giter Club home page Giter Club logo

vita's Introduction

VITA Application Framework

Entity Framework - DONE RIGHT

VITA is a framework for creating data-connected .NET applications. It is a full-featured .NET ORM - and much more than ORM. Automatic schema management, full Linq implementation with query caching, support for CRUD stored procedures, modular application composition, transparent data cache implementation with Linq queries redirection, row-level authorization subsystem. Supports data models distributed over multiple databases. Works with MS SQL Server 2008/2012+, MS SQL Compact Edition, MySql, PostgreSQL, SQLite.

Highlights

  • Entities are defined as .NET interfaces - minimum coding required. Just 'string Name {get;set;}' for a property - compact and clear.
  • Entities are self-tracking - they maintain original and modified property values, automatically register for update.
  • Database model is automatically created/updated from entity model. Existing data is preserved. Database schema follows c# code.
  • Database keys and indexes are defined through entity attributes in c# - you can define most of the database artifacts in c# code.
  • Automatically generated CRUD stored procedures. Alternatively, application can use direct SQL queries.
  • Support for one-to-many and many-to-many relationships. Foreign keys are automatically inferred from c# entity references. Properties which are lists of related entities are automatically "filled-up" on first read.
  • Full LINQ support for database querying. And not only SELECTs - you can use LINQ expressions to execute INSERT, UPDATE and DELETE statements.
  • Database views generated from LINQ queries, including materialized views with indexes.
  • DB-first approach is fully supported - VITA provides a code generator that produces the complete source code for the solution from the existing database schema.
  • Full-featured data cache - you can specify a set of entity types (database tables) that must be cached - VITA loads the data in memory, and all subsequent data queries (including dynamic LINQ queries) are served from this cache. Additional 'sparse' cache holds most recently used records/entities from tables that are too big to be cached entirely.
  • Batched operations - multiple database update/delete/insert commands are combined in a single multi-line command executed in one round-trip to the database.
  • Compiled LINQ Query Cache - dynamic LINQ queries are compiled into SQL on the first use, and later served from the query cache, avoiding the overhead of SQL translation.
  • Built-in Role-based Authorization framework - access permissions are configured at table/row/field level at application startup. During application execution all read/write operations by the current user are checked automatically (and transparently, behind the scene) by VITA.
  • Component Packaging Technology - with VITA we have a way to pack a set of entities/tables with the surrounding code into a self-contained component - entity module. Entity modules can cover specific areas of functionality, can be independently developed, tested and distributed, just like Windows Control libraries. The application is then assembled from independent modules, each covering specific part of functionality.
  • Standard modules - VITA comes with a number of pre-built modules: ErrorLog, UserLogin, TransactionLog, etc.
  • Web API stack integration. Fully integrated with Web API technology stack, provides numerous benefits for easy creation of fast and reliable RESTful data services.
  • Full support for identity columns and auto-generated GUIDs
  • Computed properties.
  • Entities support INotifyPropertyChanged interface - readily usable in data binding and MVVM solutions.

System Requirements

  • .NET 4.6.1, Visual Studio 2015.
  • MS SQL Server 2008/2012/2014; MS SQL CE 4.0; MySql 5.5, PostgreSQL 9.2, SQLite

vita's People

Contributors

rivantsov avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.