Click here to Skip to main content
11,480,860 members (65,876 online)
Click here to Skip to main content

Grove [.NET Develop Component Kit]

, 19 Nov 2003 100.8K 1.1K 40
Rate this:
Please Sign up or sign in to vote.
for database project developer
<!-- Article Starts - DO NOT ADD HTML/BODY START TAGS--><!-- Download Links --> <!-- Article image -->

 

<!-- Add the rest of your HTML here -->

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

Share

About the Author

landws
Web Developer
China China
No Biography provided

Comments and Discussions

 
QuestionRelation diagram in Tool Kit ??? Whe to Find Pin
Patrick Antonioli22-Feb-06 12:54
memberPatrick Antonioli22-Feb-06 12:54 
QuestionCan it used in VS2005 Beta 2 ??? Pin
jameszhang8217-Jan-06 3:35
memberjameszhang8217-Jan-06 3:35 
GeneralAn unhandled exception of type 'System.Exception' occurred in grove.dll Pin
Anonymous24-May-05 17:58
sussAnonymous24-May-05 17:58 
GeneralGroveKit12Beta wont install on VS2005 Pin
watchdog23-Aug-04 0:29
memberwatchdog23-Aug-04 0:29 
GeneralCheap Advert Pin
Anonymous29-Apr-04 10:55
sussAnonymous29-Apr-04 10:55 
GeneralRe: Cheap Advert Pin
CDBuffet17-Dec-04 5:24
memberCDBuffet17-Dec-04 5:24 
GeneralSource code Pin
Søren Gregersen1-Apr-04 17:40
memberSøren Gregersen1-Apr-04 17:40 
GeneralRe: Source code Pin
Anonymous2-Apr-04 0:08
sussAnonymous2-Apr-04 0:08 
Generalbad :( Pin
Gevik Babakhani24-Dec-03 16:41
memberGevik Babakhani24-Dec-03 16:41 
GeneralNo Constructor Pin
khp29-Nov-03 6:52
memberkhp29-Nov-03 6:52 
GeneralRe: No Constructor Pin
landws30-Nov-03 20:15
memberlandws30-Nov-03 20:15 
GeneralRe: No Constructor Please Help Pin
khp2-Dec-03 1:57
memberkhp2-Dec-03 1:57 
GeneralRe: No Constructor Please Help Pin
landws2-Dec-03 15:35
memberlandws2-Dec-03 15:35 
GeneralAbout your tool Pin
song_liu200027-Nov-03 16:09
membersong_liu200027-Nov-03 16: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 2:21
memberukfam27-Nov-03 2: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 14:41
memberlandws27-Nov-03 14:41 
Questionsupport for MS-Access? Pin
JoeRocket26-Nov-03 8:52
sussJoeRocket26-Nov-03 8:52 
GeneralGroovy Pin
WillemM25-Nov-03 9:18
memberWillemM25-Nov-03 9:18 
Generalabout the last newly version Pin
landws21-Nov-03 7:00
memberlandws21-Nov-03 7:00 
GeneralNot acceptable Pin
dog_spawn21-Nov-03 7:13
memberdog_spawn21-Nov-03 7:13 
GeneralRe: Not acceptable Pin
landws21-Nov-03 16:27
memberlandws21-Nov-03 16:27 
GeneralSome much gibberish, so little time Pin
dog_spawn22-Nov-03 0:34
memberdog_spawn22-Nov-03 0:34 
GeneralRe: Some much gibberish, so little time Pin
landws22-Nov-03 1:04
memberlandws22-Nov-03 1:04 
GeneralCOM Exception Pin
Antonio Barros21-Nov-03 1:22
memberAntonio Barros21-Nov-03 1:22 
GeneralRe: COM Exception Pin
landws21-Nov-03 1:38
memberlandws21-Nov-03 1:38 
Generalameliorate Pin
dog_spawn21-Nov-03 7:15
memberdog_spawn21-Nov-03 7:15 
GeneralRe: ameliorate Pin
landws21-Nov-03 16:37
memberlandws21-Nov-03 16:37 
GeneralSource Code Pin
Antonio Barros20-Nov-03 23:43
memberAntonio Barros20-Nov-03 23:43 
GeneralSource Code Pin
Gevik Babakhani20-Nov-03 15:48
memberGevik Babakhani20-Nov-03 15:48 
GeneralRe: Source Code Pin
landws20-Nov-03 19:21
memberlandws20-Nov-03 19:21 
GeneralRe: Source Code Pin
Sam Dolen20-Nov-03 23:07
memberSam Dolen20-Nov-03 23:07 
GeneralVery very impressive Pin
bmichael20-Nov-03 15:35
memberbmichael20-Nov-03 15:35 
GeneralRe: Very very impressive Pin
landws20-Nov-03 19:25
memberlandws20-Nov-03 19:25 
GeneralGood job ! Pin
kaneboy.net20-Nov-03 14:56
memberkaneboy.net20-Nov-03 14:56 
GeneralRe: Good job ! Pin
landws20-Nov-03 19:29
memberlandws20-Nov-03 19:29 
QuestionUseful or just an overblown wizard? Pin
dog_spawn20-Nov-03 14:30
memberdog_spawn20-Nov-03 14:30 
AnswerRe: Useful or just an overblown wizard? Pin
landws20-Nov-03 14:52
memberlandws20-Nov-03 14:52 
Generalnot understood? Pin
dog_spawn21-Nov-03 7:20
memberdog_spawn21-Nov-03 7:20 
GeneralWindows installer not in english Pin
Antonio Barros20-Nov-03 10:18
memberAntonio Barros20-Nov-03 10:18 
GeneralRe: Windows installer not in english Pin
landws20-Nov-03 14:40
memberlandws20-Nov-03 14:40 

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.

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