VS自带的功能:性能和诊断

先看一眼代码:

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

namespace RandomInsert
{
    internal class Program
    {
        private static int NeedCount = 10000;
        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();事务暂时不启用
                for (int i = 0; i < NeedCount; i++)
                {
                    if (i % 1000 == 0) { 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:
                    return RandomHelper.GetRandomDouble(0, NeedCount * 10.1);
                case TypeCode.Double:
                    return RandomHelper.GetRandomDouble(0, NeedCount * 10.1);
                case TypeCode.Int16:
                    return RandomHelper.GetRandomInt(1, int.MaxValue);
                case TypeCode.Int32:
                    return RandomHelper.GetRandomInt(1, NeedCount * 50);
                case TypeCode.Int64:
                    return RandomHelper.GetRandomInt(1, NeedCount * 100);
                case TypeCode.SByte:
                    return RandomHelper.GetRandomInt(1, 127);
                case TypeCode.Single:
                    return RandomHelper.GetRandomDouble(0, 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:
                    return RandomHelper.GetRandomInt(1, NeedCount * 50);
                case TypeCode.UInt64:
                    return RandomHelper.GetRandomInt(1, NeedCount * 100);
                case TypeCode.Empty:
                case TypeCode.Object:
                case TypeCode.DBNull:
                    return string.Empty;
                default:
                    return string.Empty;
            }
        }
    }
}

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

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

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

欢迎加QQ群(1600800)讨论。

时间: 2024-08-05 15:03:35

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

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

原文链接:http://blog.csdn.net/chendc201/article/details/22905503 1 Jconsole 1.1 简介以及连接 JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,它是Java自带的简单性能监控工具.下面以对tomcat的监控为例,带领大家熟悉Jconsole这个工具. Step 1,在dos/bash命令下输入:jconsole: Step 2,在弹出的对话框中选中apache,并点击connect(假设你的tomcat

【Android-EditText】自定义带删除功能的EditText

我们经常在一些应用中见到输入框带有删除功能,今天我们就来实现这个功能(文字组织能力不强,大家随便看看).主要是记录一下自己的学习经历,如果对大家有帮助,我会更开心的. 先上图: 实现要点: 1.当输入框为空时,删除按钮隐藏: 2.当输入框不为空时,显示删除按钮. 核心代码: package com.example.view; import com.example.ui.R; import android.content.Context; import android.graphics.Rect;

iOS 自带定位功能

第一步:导入头文件 #import <CoreLocation/CoreLocation.h> #import <CoreLocation/CLLocationManagerDelegate.h> 第二步:设置代理 CLLocationManagerDelegate 第三步:创建一个属性 @property(nonatomic, strong) CLLocationManager *locationManager; 第四步:初始化     //定位服务管理对象初始化     _lo

Excel 2003-单元格输入中带记忆功能

最近有个同事问我,如何在Excel单元格输入中带记忆功能?其实很简单: 工具ó选项ó编辑ó将"记忆式键入"项选中ó确定: //附图[效果图]:

笔记本自带 WiFi 功能

在寝室,动网速基本崩溃.平时打电话什么的都得到阳台,有时候还听不清声音.对于学校的环境,我不说什么了. 笔记本可以上网,那就要满足手机等移动电子设备上网的上网需求. WiFi 热点就显得尤为重要了. 360 免费 WiFi (http://wifi.360.cn/easy/pc) , 猎豹免费 WiFi (http://wifi.liebao.cn/) ,WiFi 共享精灵(http://www.wifigx.com/) , 腾讯管家 WiFi...均可实现此功能. #笔记本自带 WiFi 功能

SAP R3 用系统自带的功能查看后台数据库数据 SE16

SAP R3 用系统自带的功能查看后台数据库数据 如果用户端没有装oracle专用的查看表内容的工具软件 ,就可以用SAP 自带的功能查看,也可以实现,现介绍一下方法: 直接输入T-code: SE16 上下图对比,显示的所有的字段都是一致的. 建议用系统自带的SE16查看,不得已才用第三方工具.

现在的付费管理面板都带备份功能 这个你要注意

现在的付费管理面板都带备份功能 这个你要注意还有云服务商都开始支持快照 和盘符快照会减小你的竞争力你可以朝批量管控上试试 现在有些企业直接通过nas上的容器化运行网站和存储数据 以及办公平台化 用的还是RAID 10数据存储,数据迁移,运行中出现多种原因导致损坏的滚回,多可用区异步同步,均和负载备份即保障数据可用性的一种解决方案 通常云服务商会用99.9999之类的可用性做安全保障但实际并无法完全达到而导致用户自行通过其他途径保障数据安全的一种方式 这是我自己的理解 忽然感觉你做的更像是企业数据

iOS 自带刷新功能

这里只介绍UIRefreshControl的使用方法,虽然EGO已经用得挺舒服的了,但是官方给的.毕竟还是蛮简单的 ================================================== UIRefreshControl 具有一个默认的高度和宽度 一旦创建,便自动管理.只有当用户用力刷新才能刷新,尤其...那朵菊花,用力越大,转速越快,感觉还不错哦.(瞬间...邪恶了) 下面介绍一下如何使用:     self.refreshControl = [[UIRefres

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

今天给大家分享一款基于jQuery带备忘录功能的日期选择器.这款日期控制带有备记忘录功能.有备忘录的日期有一个圆圈,单击圆圈显示备忘录.该实例适用浏览器:360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 不支持IE8及以下浏览器.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="container"> <header class="htmleaf-header">