Skip to content

Features

Simon Mourier edited this page Feb 19, 2020 · 1 revision

Object-Relational Continuity

  • Support for standard relational patterns: 1:M, M:1, M:M relations, inheritance, associations

  • Extensive keying support: Guid, integer, strings, entities, composite keys

  • Fully hierarchical model, including relationships generation

  • Full support for enumerations values on all layers

  • Integrated query language ("CMQL") for easy custom stored procedure generation, independent from the target relational database system

  • Automatic Binary Large Object (file, document, images, videos...) easy handling, with streaming

  • Automatic paging support

  • Automatic sorting support

  • Persistence code is not generated dynamically, to ease debugging and favor testability of the solution

Business Object Model Layer

  • Support for standard OOP patterns: collections, generics, inheritance

  • Fully hierarchical model, including relationships generation

  • C# code generation

  • Lightweight entities (struct and views) support

  • Automatic caching support

  • Support for Winforms automatic binding (INotifyPropertyChanged, IBindingList, IList<T>, IList)

  • Support for WPF MVVM automatic binding (INotifyPropertyChanged, INotifyCollectionChanged, IBindingList)

  • Support for Winforms and WPF automatic validation (IDataErrorInfo)

  • Support for ICloneable, IComparable, IList, ICollection, IDictionary and their generic equivalent interfaces

  • XML serialization (XmlSerializer) support

  • Property validation support (StringValidate, RegularExpressionValidate, CompareValidate, ObjectValidate, CustomValidate, ...), with error collections, and specific end-user oriented and localizable messages

  • Generated model extensible with partial classes or snippet code integrated in the model

  • Custom external business rule integration

  • Not based on .NET Framework Reflection mechanisms

  • POCO support, no base class needed

Persistence Layer

  • Microsoft SQL Server © 2008+ support

  • PostgreSQL 8.3+ support

  • MySQL 5.1+ support

  • Customizable naming convention for tables and stored procedure generation

  • Automatic generation of tables

  • Automatic generation of stored procedures, including custom ones

  • Automatic generation of keys: primary, secondary, foreign

  • Automatic generation of indexes

  • Automatic generation of views

  • Automatic generation of schemas, from .NET namespaces

  • Automatic generation of dynamic server-side SQL for multi criteria search procedures

  • Manual (ADO.Net) or implicit (TransactionScope) transaction support

  • Integrated concurrency management (RowVersion) for easier disconnected mode or SOA/MicroServices support

  • RowGuidCol support in SQL Server for replication scenarios

  • Automatic stored procedure generation using integrated CMQL query language

  • Database differential engine for continuous generation and build support

Modular Target Architectures Support

  • Allows multi .NET target: .NET Framework, .NET Standard, .NET Core

  • Allows multi architecture

Integrated template engine

  • Code generation for text-based languages

  • Template caching for an increased generation performance

  • 100% reusable template engine

  • Exclusive Microsoft's RTF support. Allows direct Microsoft Word© (all versions) editing for creating reports templates

Internationalization

  • Dynamic localization of properties in the persistence layer

  • Multilingual ready for all parts of the application

  • .NET standard resource model support

Tooling

  • Client Console

  • Fully integrated with Microsoft Visual Studio © 2017, 2019 integrable as a standard VSIX extension, including source control support

  • Generated files are easily debuggable for an increased productivity. No reflection or “meta” mechanism is used.

  • CodeModeler is itself a fully reusable .NET API

Clone this wiki locally