Click here to Skip to main content
Licence 
First Posted 19 Nov 2003
Views 90,256
Bookmarked 39 times

Grove [.NET Develop Component Kit]

By | 19 Nov 2003 | Article
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

Version Revision Description Date
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.1 1401
  • 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.1 1501
  • 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

About the Author

landws

Web Developer

China China

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
QuestionRelation diagram in Tool Kit ??? Whe to Find PinmemberPatrick Antonioli11:54 22 Feb '06  
QuestionCan it used in VS2005 Beta 2 ??? Pinmemberjameszhang822:35 17 Jan '06  
GeneralAn unhandled exception of type 'System.Exception' occurred in grove.dll PinsussAnonymous16:58 24 May '05  
GeneralGroveKit12Beta wont install on VS2005 Pinmemberwatchdog23:29 22 Aug '04  
GeneralCheap Advert PinsussAnonymous9:55 29 Apr '04  
GeneralRe: Cheap Advert PinmemberCDBuffet4:24 17 Dec '04  
GeneralSource code PinmemberSøren Gregersen16:40 1 Apr '04  
GeneralRe: Source code PinsussAnonymous23:08 1 Apr '04  
Generalbad :( PinmemberGevik Babakhani15:41 24 Dec '03  
GeneralNo Constructor Pinmemberkhp5:52 29 Nov '03  
GeneralRe: No Constructor Pinmemberlandws19:15 30 Nov '03  
GeneralRe: No Constructor Please Help Pinmemberkhp0:57 2 Dec '03  
GeneralRe: No Constructor Please Help Pinmemberlandws14:35 2 Dec '03  
GeneralAbout your tool Pinmembersong_liu200015:09 27 Nov '03  
QuestionThis Kit does require .net v 1.1 but not 1.0. Will it work on MSVS.NET 2002 (7.0)? Pinmemberukfam1:21 27 Nov '03  
AnswerRe: This Kit does require .net v 1.1 but not 1.0. Will it work on MSVS.NET 2002 (7.0)? Pinmemberlandws13:41 27 Nov '03  
Questionsupport for MS-Access? PinsussJoeRocket7:52 26 Nov '03  
GeneralGroovy PinmemberWillemM8:18 25 Nov '03  
Generalabout the last newly version Pinmemberlandws6:00 21 Nov '03  
GeneralNot acceptable Pinmemberdog_spawn6:13 21 Nov '03  
GeneralRe: Not acceptable Pinmemberlandws15:27 21 Nov '03  
GeneralSome much gibberish, so little time Pinmemberdog_spawn23:34 21 Nov '03  
GeneralRe: Some much gibberish, so little time Pinmemberlandws0:04 22 Nov '03  
GeneralCOM Exception PinmemberAntonio Barros0:22 21 Nov '03  
GeneralRe: COM Exception Pinmemberlandws0:38 21 Nov '03  

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

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

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120517.1 | Last Updated 20 Nov 2003
Article Copyright 2003 by landws
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid