DbEntry.Net (Leafing Framework) is a lightweight, high performance ORM compnent for .Net.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
doc/en
src
.gitignore
Donate.md
README.md
build.bat
build.sh
debugbuild.bat
debugbuild.sh

README.md

DbEntry.Net (Leafing Framework)

DbEntry.Net (Leafing Framework) is a lightweight, high performance ORM compnent for .Net 4.x. It has clearly and easily programing interface. It based on ADO.NET, and supported C#, Visual Basic, ASP.NET etc. It also provide DbEntryDataSource for ASP.NET 2.0 and a Rails style MVC framework and a simple IoC framework.

The samples of the release package all TESTED on Sql Server 2005 Express, Sql Server 2008, MySql 5.0, SQLite 3, Access 2003, Firebird 2.1.0, PostgreSQL 8.3.3 and Oracle 10g express. Features:

  • Linq support
  • FluentInterface query syntax
  • RoR ActiveRecord style syntax
  • Ambient transaction
  • Dynamic object
  • Partial update
  • 1:1 1:Many Many:Many relations
  • Auto create table
  • Anti sql injection
  • Multiple data source
  • Object validation
  • Paged selector and collection
  • Nullable support
  • DbEntryDataSource
  • ASP.NET 2.0 Membership support
  • Built-in Cache Support
  • Ruby On Rails style MVC framework
  • Simple IoC framework
  • High performance, almost same as using ADO.NET directly
  • Lightwight, the binary file only about 360KB

First sight:

public class User : DbObjectModel<User>
{
	public string Name { get; set; }
	public int Age { get; set; }
	public bool Actived { get; set; }
	public DateTime Birthday { get; set; }
}

static void Main()
{
	// Create
	var u = new User { Name = "tom", Age = 18, Actived = true, Birthday = DateTime.Now };
	u.Save();
	// Read
	var u1 = User.FindById(u.Id);
	// Update
	u1.Name = "jerry";
	u1.Save();
	// Delete
	u1.Delete();
	// Query
	var ids = from p in User.Table where p.Age > 15 select new {p.Id};
	var l1 = from p in User.Table where p.Age > 15 && p.Actived select p;
	var l2 = User.Find(p => p.Age > 15 && p.Actived); // another style of linq
	var l3 = User.FindBySql("Select * From [User] Where [Age] > 15 And [Actived] = true");
}

Documentation

Documentation Index

Links

For MySql, SQLite and Firebird, please install the .net driver first, to unpack 7z archieve, please install 7-Zip:

Examples:

My Homepage, Blog(Chinese) and email:

Other resources:

Donate 捐款:

  • Details 细节
  • Donate ways 捐款方式:
    • 支付宝: lifeng.liang(at)gmail.com
    • Paypal: lifeng.liang(at)gmail.com
    • Bitcoin: 16ypFeJGaqyQywu9ra1AQw6UaNWP4RoPBf