先看一眼代码:

using System;
using System.Collections.Generic;
using XCode;
using XCode.Configuration;
using XCode.DataAccessLayer;

namespace RandomInsert
{
    internal class Program
    {
        ;
        private static void Main(string[] args)
        {
            Console.WriteLine("开始");
            FillDataForDb("demo");
            Console.WriteLine("完成");
        }

        /// <summary>
        ///  随机填充指定数据库连接字符串中的所有表
        /// </summary>
        /// <param name="connStr">数据库连接字符串</param>
        public static void FillDataForDb(string connStr)
        {
            DAL dal = DAL.Create(connStr);//根据数据库连接字符串创建数据访问对象
            List<IDataTable> tableList = dal.Tables;//获取数据库的所有表和架构信息
            if (tableList == null)
            {
                Console.WriteLine("没有表结构");
                return;

            }
            tableList.RemoveAll(t => t.IsView);//过滤掉视图
            foreach (var item in tableList)
            {
                //首先根据表名称获取当前表的实体操作接口
                IEntityOperate entity = dal.CreateOperate(item.Name);
                //entity.BeginTransaction();事务暂时不启用
                ; i < NeedCount; i++)
                {
                     == ) { Console.WriteLine("{0}{1}", item.TableName, i); }
                    IEntity model = entity.Create();//创建数据实体接口
                    //entity.Fields获取所有的字段信息
                    foreach (var fild in entity.Fields)
                    {
                        if (!fild.IsIdentity)
                            model.SetItem(fild.Name, GetRandomValue(fild));
                    }
                    model.Save();//保存数据
                }
                //entity.Commit();
            }
        }
        /// <summary>
        /// 根据字段类型和长度获取对应类型的随机数据
        /// </summary>
        /// <param name="fild">字段对象</param>
        /// <returns>对应的随机数据</returns>
        public static object GetRandomValue(FieldItem fild)
        {
            switch (Type.GetTypeCode(fild.Field.DataType))
            {
                case TypeCode.Boolean:
                    return RandomHelper.GetRandomBool();
                case TypeCode.Byte:
                    return RandomHelper.GetRandomByte();
                case TypeCode.Char:
                    return RandomHelper.GetRandomChar();
                case TypeCode.DateTime:
                    return RandomHelper.GetRandomDateTime();
                case TypeCode.Decimal:
                    , NeedCount * 10.1);
                case TypeCode.Double:
                    , NeedCount * 10.1);
                case TypeCode.Int16:
                    , int.MaxValue);
                case TypeCode.Int32:
                    , NeedCount * );
                case TypeCode.Int64:
                    , NeedCount * );
                case TypeCode.SByte:
                    , );
                case TypeCode.Single:
                    , NeedCount * 10.1);
                case TypeCode.String:
                    return RandomHelper.GetRandomString((int)(fild.Length * RandomHelper.GetRandomDouble(0.2, 0.7)));
                case TypeCode.UInt16:
                    return RandomHelper.GetRandomInt(int.MinValue, int.MaxValue);
                case TypeCode.UInt32:
                    , NeedCount * );
                case TypeCode.UInt64:
                    , NeedCount * );
                case TypeCode.Empty:
                case TypeCode.Object:
                case TypeCode.DBNull:
                    return string.Empty;
                default:
                    return string.Empty;
            }
        }
    }
}

本段代码由大石头提供技术支持,小董原创,老邱完成,ha666抄过来。

VS2013Update5就有“性能和诊断”功能了

选择“调试”菜单->“性能和诊断”

欢迎加QQ群(1600800)讨论。

VS自带的功能:性能和诊断的更多相关文章

  1. MySQL 5.7 学习:功能性能的提升

    背景: 继上次介绍 初识 MySQL 5.6 新功能.参数完之后,刚好MySQL 5.7又GA了,在官方测试里看到,MySQL5.7在功能.性能.可用性.安全和监控上又提升了很高.现在看看和MySQL ...

  2. (转载)Java自带的GUI性能监控工具Jconsole以及JisualVM简介

    原文链接:http://blog.csdn.net/chendc201/article/details/22905503 1 Jconsole 1.1 简介以及连接 JConsole是一个基于JMX的 ...

  3. 百度地图API 批量添加 带检索功能的信息窗口

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Elastic Image Slider 带缩略图功能的幻灯片

    今天我们要为您展示如何创建一个简单的弹性幻灯片,带有缩略图预览功能.Elastic Image Slider 这款幻灯片能够自动调整以适应到其父容器,我们可以通过幻灯片使用缩略图预览或幻灯片的自动播放 ...

  5. 笔记本自带 WiFi 功能

    在寝室,动网速基本崩溃.平时打电话什么的都得到阳台,有时候还听不清声音.对于学校的环境,我不说什么了. 笔记本可以上网,那就要满足手机等移动电子设备上网的上网需求. WiFi 热点就显得尤为重要了. ...

  6. GridView使用自带分页功能时分页方式及样式PagerStyle

    // 转向地址:http://www.bubuko.com/infodetail-412562.html GridView分页,使用自带分页功能,类似下面样式: 在aspx页面中,GridView上的 ...

  7. 基于jQuery带备忘录功能的日期选择器

    今天给大家分享一款基于jQuery带备忘录功能的日期选择器.这款日期控制带有备记忘录功能.有备忘录的日期有一个圆圈,单击圆圈显示备忘录.该实例适用浏览器:360.FireFox.Chrome.Safa ...

  8. 调用Android自带日历功能(日历列表单、添加一个日历事件)

    调用Android自带日历功能  觉得这篇文章不错,转载过来. 转载:http://blog.csdn.net/djy1992/article/details/9948393 Android手机配备有 ...

  9. SSIS从理论到实战,再到应用(6)----SSIS的自带日志功能

    原文:SSIS从理论到实战,再到应用(6)----SSIS的自带日志功能 上期回顾: SSIS从理论到实战,再到应用(5)----流程控制之Foreach循环 博主最近新负责了一个ssis大项目的架构 ...

随机推荐

  1. 设置UWP程序自启动(Automate launching Windows 10 UWP apps)

    在开发UWP程序的过程中,有时候需要设置程序的自启.本人实现的步骤如下: 1.在VS中激活Protocol (Package.appxmanifest --> Declarations --&g ...

  2. UltraISO对光盘镜像的常用操作

    UltraISO,它能直接编辑光盘映像或者从光盘映像文件里面提取文件:可以从CD-ROM里面制作光盘映像:也可以把硬盘上的文件制作成ISO文件:可以把ISO中启动信息保存下来,也可以为ISO添加启动功 ...

  3. 在hibernate中使用SQL语句

  4. Android自己定义控件而且使其能够在xml中自己定义属性

    为什么要自己定义View android开发中自己定义View的优点是显而易见的.比方说以下的这个顶部导航,它被设计出如今应用的每一个界面,但每次的内容却不尽同样.我们不能在每一个layout资源中都 ...

  5. vim note(6)--vim的一个较全的介绍(转)

    vim的配置文件 ~/.vimrc       用户的默认配置文件 ~/.vim/plugin/   用户的默认脚本文件的存放文件夹 ~/.vim/ftplugin/ 用户的默认文件类型相关脚本文件的 ...

  6. js鼠标事件

    今天遇到一个非常奇怪而又搞笑的事情:给一个a标签添加一个鼠标移动上时给一个事件,我给其添加的是一个onMouseMove事件,结果在IE6 7 8 9和GOOLE中都很正常,结果在Firox中出现问题 ...

  7. Android制作粒子爆炸特效

    简介 最近在闲逛的时候,发现了一款粒子爆炸特效的控件,觉得比较有意思,效果也不错. 但是代码不好扩展,也就是说如果要提供不同的爆炸效果,需要修改的地方比较多.于是我对源代码进行了一些重构,将爆炸流程和 ...

  8. 枚举,Enum,常规使用demo记录

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mv ...

  9. 手势交互之GestureDetector

    GsetureDetector 一.交互过程 触屏的一刹那,触发MotionEvent事件 被OnTouchListener监听,在onTouch()中获得MotionEvent对象 GestureD ...

  10. SQL Server 的远程连接(转载)

    SQL Server默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQLServer2012数据库,需要确认以下环节: 1)如果是工作组环境,则需要使用SQL Server身份验证 ...