.NET实体类生成器 改

将前面的Form1.cs代码改成:

修改了前面的第44行(nameSpace-->namespace)和第53行

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Text.RegularExpressions ;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();


        }

        private void button1_Click(object sender, EventArgs e)
        {
             
            string ClassName1 = textBox1.Text.Trim();
            string classexp1 = txtexp.Text.Trim();
            string NameSpace1 = txtNameSapace.Text.Trim();

            if (ClassName1.Length == 0)
            {
                MessageBox.Show("类名不能为空");
                return;
            }

            sfdFile.FileName = ClassName1; 
            if (sfdFile.ShowDialog() == DialogResult.OK)
            {
                FileStream fs = new FileStream(sfdFile.FileName, FileMode.Create, FileAccess.Write);
                StreamWriter sw = new StreamWriter(fs, Encoding.Default);

                 if (radyou.Checked && txtNameSapace.Text.Trim() != null)
                {
                    sw.WriteLine("namespace " + NameSpace1);
                    sw.WriteLine("{");
                }

                sw.WriteLine("  public class " + ClassName1);
                sw.WriteLine("  {");
                foreach (DataGridViewRow Row in fdcontent.Rows)
                {

                    if (Row.Cells[0].Value != null )
                    {
                        string propname = Row.Cells[0].Value.ToString();
                        string type = Row.Cells[1].Value.ToString();
                        //替换propname前一个或多个下划线,中间下划线不替换
                        sw.WriteLine("        private " + type + " " + propname + ";");
                        string propname1 = Regex.Replace(propname, "^_+", "");
                        //把propname首字母变为大写
                        string functionname = propname1.Substring(0, 1).ToUpper() + propname1.Substring(1);
                        sw.WriteLine("        public " + type + " " + functionname);
                        sw.WriteLine("        {");
                        sw.WriteLine("            get { return " + propname + "; }");
                        sw.WriteLine("            set { " + propname + " = value; }");
                        sw.WriteLine("        }");
                    }
                }
                sw.WriteLine("}");
                
                if (radyou.Checked && txtNameSapace.Text.Trim() != null)
                {
                    sw.WriteLine("}");
                }
                sw.Close();
                fs.Close();
                MessageBox.Show("实体类创建成功!");
            }

            }

        private void radwu_CheckedChanged(object sender, EventArgs e)
        {
             txtNameSapace.Visible = false;
        }

        private void radyou_CheckedChanged(object sender, EventArgs e)
        {
            txtNameSapace.Visible  = true;
        }
        }
    }


C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】是一款专门为 C#.Net 数据库程序员开发量身定做的自动代码生成工具,所生成的代码基于面向对象的思想、分层架构设计及ORM,并参考了微软Petshop中经典的思想,融入了工厂模式等设计模式,反射机制等。从数据库中提取表对应的C#实体代码,目前支持Oracle、SqlServer数据库,并可从对应类型的数据库中提取表及字段的注释,并可对生成的实体数据类型等进行各种自定义的设置等。如数据库列和C#代码类型的映射、实体命名空间、代码个性化注释、是否生成对应的数据库操作等,操作简单实用。同时通过实体可实现简单数据库添加、修、删除、查询等操作,同时对添加和修提供一个统一的保存操作(即实体会根据主键或实体条件值自动判断是更新还是插入);并提供大量的相关示例代码。同时由于考虑到数据库迁移等,所生成的操作数据库的代码,只需按生成的配置文件说明修数据库连接,即可用于任何类型的数据库访问操作等,对应文件会自动解析,既一次生成可用于多种类型的数据库的操作,且当数据库表字段发生重大变化时再生成一次即可。 所有数据库的操作都是以默认实体对应表的主键为准,当然也可指定,增加和更新合并为一个保存操作,由实体本身自己判断是增加还是更新,当然你若愿意也可以分开来做,实体也提供了对应的快捷方式等。更多的好处在你用过之后即知。工具同时提供大量的示例代码,当你安装后,开发示例代码可以看到,示例代码提供了3套示例(分别是:Oracle、SqlServer、Access,其它类型的数据库使用类似仿照即可,实体文件根据数据库连接会自动解析)和一套新版本(v3.0)的例子EntitysCodeGenerateDemoTest,用VS2005打开每个Demo文件解决方案文件(.sln)即可看到源代码,示例都是以对应数据库自带的示例库为例介绍的。(补充一下Oracle数据库自带的实例库,如scott/tiger表没有注释,所以这里实体字段没有提取出注释。) 最新版本也可参见下列地址: http://download.csdn.net/source/3030634 http://www.skycn.com/soft/53715.html http://download.enet.com.cn/html/030212009031901.html http://qun.qq.com/air/#60873348/share
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值