Project Description
HLinq is a ORM framework like Linq to Sql.
HLinq is stored procedure based framework.
Good performance,security,and type safe.



What's HLinq??

HLinq is a ORM framework like Linq to Sql.
Linq to Sql execute query text under the food,but I want to use stored procedure.Also Linq to Sql have a flexisibility to replace using stored procedure,But I want to implement it with low cost.
HLinq generate stored procedure and csharp code,you can operate data with these classes.
These classes execute stored procedure under the food,so you can enjoy the benefit of executing stored procedure such as performance,security,networkbandwidth....etc.
HLinq is designed light weight framework,I think you can understand easily.

Summary Inside HLinq

1---generate stored procedure
HLinq generate stored procedure and csharp source code from schema file.The schema file has a definition of table,column,relation of database.You can edit this file with HLinqSchemaEditor.HLinq generate sqlscript file for sqlserver2005 and csharp source code for .NET2.0.
Sqlscript file includes create statement of table,relation,and stored procedure. Stored procedure is generated from table schema and relation.You will be able to operate record of table with these stored procedure.For example,TableNameSelectAll,TableNameSelectByPrimaryKey,TableNameInsert,TableNameUpdate,TableNameSelectByColumnName(this column is foreignKey)..etc.
Additional, you can add your custom stored procedure with HLinqSchemaEditor.
2---C# source code
HLinq also generate accessible csharp source code,that contain database class,stored procedure class,resultset class,table class,and record class.You can call stored procedure with stored procedure class and get query resultset as List<T> of resultset class's instance.You can operate record value with record class,and submit your operation to database with table class.

Here is a sample solution how to use these files generated by HLinq.
http://www.codeplex.com/hlinq/Release/ProjectReleases.aspx?ReleaseId=21319

HLinq solution include

1---HLinq.dll
2---HLinq.CodeGenerator.dll
3---HLinqSchemaEditor(Beta)
4---HLinqInstaller(Alpha)


The functionality list of HLinqSchemaEditor.

1--Create and edit schema file.
2--You can generate schema file from existing database.
3--You can generate sqlscript file from schema file.That file create table,relation,and storedprocedure.
4--You can generate csharp source code from schema file.That contain sotred procedure class,resultset class,table class,and record class.
5--Generate specification file of table schema as html file.

The functionality list of generated C# code.

1--Generated csharp class is partial class,so you can add your own functionality.
2--Record class has Insert,Update,Delete method to execute each stored procedure,TableNameInsert,TableNameUpdate,TableNameDelete.
3--Record class has CheckValues method that check all property of record instance is valid.All Record class implement INotifyPropertyChanged you can bind to control and easily edit it.
4--Table class has SelectAll,SelectBy_PrimaryKey,SelectBy_ColumnName(the column is foreignkey) method that return record class array.
5--You can add your custom stored procedure.
6--Transaction support.Table class has Insert,Update,Delete method overload version.That can execute multi record inserting,updating,deleting with transaction.And with Save method,you can execute insert record and execute your own stored procedure and commit transaction with ITransaction interface.
7--Table class has cache functionality.You can store the data of database record in the memory.Select?? method is overloaded,so you can select datasource to get data from database directly or from cache in memory with these method.
8--WebDependency functionality.HLinq generate WebDependency.cs file which provide a functionality to update cache data of Table class with SqlCacheDependency class.
9--Event functionality.Event is occured when stored procedure executed.You can update cache data by using these event.
10--Enum functionality.This functionality generate a Enum class.In general,flag column is allowed some value.For example,StartdayOfWeek column is defined as only allow int value from 0 to 6.This functionality enables you to assure it.
11--Interface functionality.Active record inherit IRecord interface that only has property of column.A resultset class of your custom stored procedure that return same schema of a table inherit this interface enable you to operate resultset class and record class transparently.
12--Multi database development.You can operate some database that has different schema.
13--Distributed database development.You can operate multi database that has same schema.
14--JavaScriptConverter functionality.HLinq generate javascript converter class for each record class.You can convert Record class to json string or create record instance from json string.



I would like to welcome everybody to participate in development.
My mail address
higuchihiguchihiguchi@hotmail.com
My Site
http://www.higlabo.com/HLinq/index.html


Last edited Sat at 4:06 AM by higty, version 31
Comments
No comments yet.

Updating...
© 2006-2009 Microsoft | About CodePlex | Privacy Statement | Terms of Use | Code of Conduct | CodePlex Blog | Version 2008.12.9.14291