Skip to content

sheryever/simple-access-orm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Access ORM

SimpleAccess provides a simple and easy database access as well as a repository for CRUD and other helper methods.

SimpleAccess supports multiple databases. All implement the same interface for each database.

SimpleAccess also provides excpetion logging.

SimpleAccess returns data in Entity and dynamic data type but also allow developers to work on direct DataReader or DataSet

Documentation

simpleaccessorm.com

Nuget package

Sql Server

PM > Install-Package SimpleAccess.SqlServer

Oralce

PM > Install-Package SimpleAccess.Oracle

MySql

PM > Install-Package SimpleAccess.MySql

SQLite

PM > Install-Package SimpleAccess.SQLite

Support

  • Sql Server 2005 and later
  • Oracle 10g and later (in default SimpleAccess uses Oracle Managed Data Provider for .NET)
  • SQLite
  • MySql
  • PostgreSQL (coming)

Roadmap

  • Separate SimpleCommand and Repositoy
  • vitual properties must behave like NotASpParameter marked perperty in Entities drived from StoredProcedureParameters
  • Remove StoredProcedureParameters inheritance from Enity Class to make entity more lighter
  • Add InsertAll<TEntity>, UpdateAll<TEntity>, DeleteAll<TEntity> with support of internal trasaction in Repository
  • Add Find<TEntity> and FindAll<TEntity> in Repository
  • Add ExecuteValues<T> for getting result of a single column query in IEnumerable<T>
  • NetStandard 2.0 support
  • Write unit test
  • NetStandard 2.1 support with Microsoft.Data.SqlClient
  • Configure StoredProcedure naming convention mapping to repository method (Insert, Update, Delete, Get, GetAll, Find, FindAll) methods in repository settings
  • Add Sql Generation for Non StoredProcedures command types (Insert, Update, Delete, Get, GetAll, Find, FindAll) (90%)

SqlEntityRepository Without SP implementation (version 3.1)

  • SqlEntityRepository implementation (90%)
  • Add DefaultView property in EntityAttribute
  • Add PrimaryKeyAttribute for decorating primary key of an entity
  • Add database sequence support with PrimaryKeyAttribute
  • DefaultView property in EntityAttribute support for default select
  • Add GetEntityPage and GetDynamicPage support
  • Add DISTINCT keyword support in GetEntityPage and GetDynamicPage query
  • Add RowNumber column support in GetEntityPage and GetDynamicPage query
  • Add IsExist function support
  • Add Aggregate(Count, Sum, Min, Max, Avg) functions support
  • Add multiple Aggregates (Count, Sum, Min, Max, Avg) data as dynamic object support
  • Replace ISimpleLogger with ILogger
  • Column selection with Find, FindAll, Get, GetAll
  • Fixing comments, documention and adding examples
  • SimpleAccess Factory, Allow SimpleAccess to create SimpleAccess object the base of configuration(xml/json)
ISimpleAccess sqlSimpleAccess = SimpleAccessFactory.Create("SqlServer")
ISimpleAccess oralceSimpleAccess = SimpleAccessFactory.Create("OracleServer")
  • Allow developer to add database column custom/special value mapper and parameter builder using IDbDataMapper.
SimpleAccess.DataMappers.Add(new GeomaryDataMapper());
  • Allow developer to force SimpleAccess to use specific custom DataMapper to map and build parameter using DbMapperAttribute DbMapper(typeof(GeomaryDataMapper))
  • ExecuteJson and ExecuteBson
  • Rewrite code generation application
  • Allow developer to add more T4 Templates
  • Allow developer to edit T4 Templates directly inside the application