Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

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


Nuget package

Sql Server

PM > Install-Package SimpleAccess.SqlServer


PM > Install-Package SimpleAccess.Oracle


PM > Install-Package SimpleAccess.MySql


PM > Install-Package SimpleAccess.SQLite


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


  • 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