Project Description
Non-IQueryable LINQ Provider with ODP.NET

Design Concept(chinese)

You can completely replace namespace Oracle.ManagedDataAccess with Oracle.DataAccess for production usage.


The lightweight data access library base on ODP.NET provider

  • Enum type (string value)
  • lightweight entity change tracking
  • Support batch Insert, Update, InsertOrUpdate, Delete operation with odp.net array binding
  • easy dynamic predication
  • Projection query (column only, without SQL function translation)
  • GroupBy aggregation function(only column name expression)
    • Average
    • Max
    • Min
    • Sum
    • Count
  • Group By Having
  • Update/Delete Method support optimistic concurrency automatically
  • Select for update(row lock)
  • Batch query by OracleRefCursor
  • LINQPad : static / dynamic context driver
  • T4 template for Static DataContext generation
  • Limitation:  
  1. Fetch data from one table each time, but can filter with join(SelectMany) other table.
  2. Not supported LINQ let、join syntax
  3. Disallowed LINQ group by with element selector
  4. Distinct with projection only work by column access
 

Last edited Oct 14, 2015 at 4:37 AM by westjeffho, version 13