Click here to Skip to main content
15,896,111 members
Articles / Programming Languages / C#

Dynamically Generate C# Data Access Code for Microsoft SQL and Other Databases

Rate me:
Please Sign up or sign in to vote.
3.45/5 (13 votes)
19 Dec 2008CDDL3 min read 76.6K   1.5K   76  
With this tool, dynamically generate C# data layer code (CRUD functions) for Microsoft SQL and other databases
/*
 ******************************************************************************
 This file is part of MattRaffelNetCode.

    MattRaffelNetCode is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    MattRaffelNetCode is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with MattRaffelNetCode; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA


    architected and written by 
    matt raffel 
    matt.raffel@mindspring.com

       copyright (c) 2007 by matt raffel unless noted otherwise

 ******************************************************************************
*/
#region using statements
using System;
using System.Collections.Generic;
using System.Text;
using MattRaffelNetCode.Apps.SqlCodeGen.Interfaces; 
#endregion

namespace MattRaffelNetCode.Apps.SqlCodeGen.Classes
{
    /// <summary>
    /// Default memember name formatter for sqlcodegen.exe formatting member names in the following
    /// format:  _memberName
    /// 
    /// It looks up any subsitution values from the subsitution column and uses the definition column
    /// name should no substitution exist
    /// </summary>
    public class DefaulMemberNameFormatter : IDataMemberNameFormatter
    {
        #region IDataMemberNameFormatter Members

        public string MakeDataMemberName(ColumnDefinition definition, ColumnSubstitution substitution)
        {
            string ret = definition.Name;

            // start by making a default
            ret = BigWoo.NET.Utility.StringHelper.LowerCaseFirstChar(ret);

            // generate the Property name using override values from the default.names data
            if (null != substitution)
            {
                if (false == substitution.Exclude)
                {
                    ret = substitution.DataMemberName;
                    if (false == substitution.KeepCase)
                        ret = BigWoo.NET.Utility.StringHelper.LowerCaseFirstChar(ret);

                }
            }

            ret = string.Format("_{0}", ret);

            return ret;
        }

        #endregion
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Common Development and Distribution License (CDDL)


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

Comments and Discussions