Click here to Skip to main content
15,881,173 members
Articles / Web Development / ASP.NET
Article

Grove [.NET Develop Component Kit]

Rate me:
Please Sign up or sign in to vote.
2.52/5 (25 votes)
19 Nov 20033 min read 214K   1.1K   40   40
for database project developer

 

Introduction

    Grove is a component  kit for .net project develop . Grove Develop Component Kit include Grove Component and Grove Tool Kit.
    Grove Component is an object-oriented develop component that base of .net framework , It supported multi-database , it provide standard tow tier , three tier , or N tier develop mode.
    Grove Tool Kit is an Addin base on .net develop environment ( Visual Studio 2003/2002 ) , It can preview entity class or xml description from data table at any databases , but it only support MS SQL Server for the moment.

How Grove can do?

    It can help you to develop .net project from an new sight , Grove Kit is useful for yours group , it can help your project finish fast

Version Scheme

VersionRevisionDescriptionDate
1.0 
  • Component can do the entity class persistence , it like insert , update , delete etc , and entity class can do simple query
  • Tool Kit can preview and generate entity class or xml description
2003-6-10
1.11401
  • Component can do relationship query , it like INNER JOIN , LEFT JOIN , RIGHT JOIN , FULL JOIN etc
  • Tool Kit can build these relationship by itself , it look like MS SQL Server Relationship constitution , and use like too
2003-9-20
1.11501
  • Component can do IN query , it like sub collection query , and change object query mode , use Object Query Interface , abandon persistence manager to query
  • Tool Kit can preview xml description for entity class or relationship query
2003-11-10

Next plan :
  1. EXISTS Relationship Query
  2. Rebuild xml description for relationship query , and give a parser
  3. Reflect SQL to Tool Kit Relationship format

Current Version :

  1. Entity class can persist by itself 
  2. Tool kit relationship builder , visual UI
  3. Develop multi-mode supported
  4. Simple Log Management
  5. Simple Exception Management

Practical Sample

  • Entity class persist by self
Use ToolKit create entity class : 
    [DataTable("Customers")]
    public class Customer:Grove.DataObject.EntityClassBase
    {
        int _CustomerID;
        string CustomerName;
        string CustomerURL;

        [KeyField("CustomerID")]
        public int CustomerID
        {
            get{return this._CustomerID;}
            set{this._CustomerID=value;}
        }
        [DataField("CustomerName")]
        public string CustomerName
        {
            get{return this._CustomerName;}
            set{this._CustomerName;}
        }
        [DataField("CustomerURL")]
        pubic string CustomerURL
        {
            get{return this._CustomerURL;}
            set{this._CustomerURL=value;}
        }
    }

Persist by self :
    Customer c=new Customer();
    c.CustomerName="tryitsoft";
    c.CustomerURL="http://www.tryitsoft.com";
    c.Insert();//insert a new customer
    c.CustomerID=1001;
    c.CustomerName="chengdu tryitsoft";
    c.Update();//update customer
    c.CustomerID=1002;
    c.Delete();//delete customer
    c=c.GetObject(1005);//retrieve a customer
    string filter="CustomerName=’tryitsoft?quot;;
    DataSet ds=c.GetObjects(filter);//retrieve customers by custeomr name

Description : if you want to entity class can persist by itself , entity class must extend Grove.DataObject.EntityClassBase
  • Relation query by entity class
Use Tool Kit create relation entity class :
[RelationTable("OrderRelationQueryResult",BeginWithTable="Orders")]
public class OrdersRelationQuery
{
    [RelationReflect("Orders","Order Details")]
    [RelationField("OrderID","OrderID")]
    public string Relationship_1
    {
        get{return "[Orders].[OrderID]=[Order Details].[OrderID]";}
    }

    DateTime _RequiredDate;
    [DataField("RequiredDate",TableName="Orders")]
    public DateTime RequiredDate
    {
        get{return this._RequiredDate;}
        set{this._RequiredDate=value;}
    }
    int _ProductID;
    [DataField("ProductID",TableName="Order Details")]
    public int ProductID
    {
        get{return this._ProductID;}
        set{this._ProductID=value;}
    }

}
Relation diagram in Tool Kit :

Execute Query by relation entity class :
    IObjectOperator oo=ObjectOperatorFacotry.GetObjectOperator();
    IObjectQuery oq=oo.NewQuery(typeof(Customer));
    oq.Filter="";//use entity property name to set sql filter 
    oq.OrderString="";//use entity property name to set order string
    ArrayList result=oq.Execute();

Tool Overview

    Grove Tool Kit is an Addin tool for visual studio .net , when you installed it ,  and open the Studio IDE , please find it in tool menu in Studio IDE , if you can 't  found it , you can execute 'ReCreateCommands.reg' to register again , this file can found in your install path .
    Click the 'GroveToolKit' item in tools menu of Studio IDE ,  and set the database connection string , and connect to DB :

    Now , you can select a table , and click the 'preview entity class' button of tool bar , and then :

    You also can click the 'preview xml definition' button to preview :

    When you want to build a relationship query , you can select the 'Build Relationship Query' button ,  and choose the entity class option to next , and you can see a white form , in here you must add table first , and link these tables's relation , it use like MS SQL Server :

Project Sample

  • Rainbow(sz)  Bug Management System

Support

Support email : <landws> cnlxp@msn.com

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
China China
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionRelation diagram in Tool Kit ??? Whe to Find Pin
Patrick Antonioli Ferraro22-Feb-06 11:54
Patrick Antonioli Ferraro22-Feb-06 11:54 
QuestionCan it used in VS2005 Beta 2 ??? Pin
jameszhang8217-Jan-06 2:35
jameszhang8217-Jan-06 2:35 
GeneralAn unhandled exception of type 'System.Exception' occurred in grove.dll Pin
Anonymous24-May-05 16:58
Anonymous24-May-05 16:58 
GeneralGroveKit12Beta wont install on VS2005 Pin
watchdog22-Aug-04 23:29
watchdog22-Aug-04 23:29 
GeneralCheap Advert Pin
Anonymous29-Apr-04 9:55
Anonymous29-Apr-04 9:55 
GeneralRe: Cheap Advert Pin
CDBuffet17-Dec-04 4:24
CDBuffet17-Dec-04 4:24 
I agreeFrown | :(
GeneralSource code Pin
1-Apr-04 16:40
suss1-Apr-04 16:40 
GeneralRe: Source code Pin
Anonymous1-Apr-04 23:08
Anonymous1-Apr-04 23:08 
Generalbad :( Pin
Gevik Babakhani24-Dec-03 15:41
Gevik Babakhani24-Dec-03 15:41 
GeneralNo Constructor Pin
khp29-Nov-03 5:52
khp29-Nov-03 5:52 
GeneralRe: No Constructor Pin
landws30-Nov-03 19:15
landws30-Nov-03 19:15 
GeneralRe: No Constructor Please Help Pin
khp2-Dec-03 0:57
khp2-Dec-03 0:57 
GeneralRe: No Constructor Please Help Pin
landws2-Dec-03 14:35
landws2-Dec-03 14:35 
GeneralAbout your tool Pin
song_liu200027-Nov-03 15:09
song_liu200027-Nov-03 15:09 
QuestionThis Kit does require .net v 1.1 but not 1.0. Will it work on MSVS.NET 2002 (7.0)? Pin
ukfam27-Nov-03 1:21
ukfam27-Nov-03 1:21 
AnswerRe: This Kit does require .net v 1.1 but not 1.0. Will it work on MSVS.NET 2002 (7.0)? Pin
landws27-Nov-03 13:41
landws27-Nov-03 13:41 
Questionsupport for MS-Access? Pin
JoeRocket26-Nov-03 7:52
JoeRocket26-Nov-03 7:52 
GeneralGroovy Pin
WillemM25-Nov-03 8:18
WillemM25-Nov-03 8:18 
Generalabout the last newly version Pin
landws21-Nov-03 6:00
landws21-Nov-03 6:00 
GeneralNot acceptable Pin
dog_spawn21-Nov-03 6:13
dog_spawn21-Nov-03 6:13 
GeneralRe: Not acceptable Pin
landws21-Nov-03 15:27
landws21-Nov-03 15:27 
GeneralSome much gibberish, so little time Pin
dog_spawn21-Nov-03 23:34
dog_spawn21-Nov-03 23:34 
GeneralRe: Some much gibberish, so little time Pin
landws22-Nov-03 0:04
landws22-Nov-03 0:04 
GeneralCOM Exception Pin
Antonio Barros21-Nov-03 0:22
professionalAntonio Barros21-Nov-03 0:22 
GeneralRe: COM Exception Pin
landws21-Nov-03 0:38
landws21-Nov-03 0:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.