C#开发桌面程序的效率确实很高,今天就来总结下如何使用C#+Linq+SQL快速开发一个新的业务系统。

Linq是微软官方的轻量级的ORM工具,使用它结合SQL可以快速的生成实体类,再通过Linq操作可以快速的开发业务。

 

1、生成实体类:

对于已经存在的数据库结构(SQL Server),可以使用VS自带的命令行工具生成实体类:

 

 

sqlmetal工具可以用来对SQL Server数据库快速生成C#中的实体类,具体参数:

/server参数指定服务器名称

/database参数指定数据库名称

/namespace参数指定生成代码的命名空间

/code参数指定生成代码名称

 

2、在C#中对实体类的操作:

   1:  /*
   2:          * Shifenzheng是数据库实体类名称,继承自System.Data.Linq.DataContext
   3:          * 实例化时,参数为数据库的连接字符串。
   4:          * 
   5:          */
   6:         Shifenzheng db = new Shifenzheng(@"Data Source=CHAO-COMPUTER\MSSQLSERVER_R2;Initial Catalog=Shifenzheng;User ID=sa;Password=123123123;");
   7:   
   8:         public frmMain()
   9:         {
  10:             InitializeComponent();
  11:         }
  12:   
  13:         private void sbSearch_Click(object sender, EventArgs e)
  14:         {
  15:   
  16:             string strName = teName.Text.Trim();
  17:             if (strName.Length==0)
  18:             {
  19:                 MessageBox.Show("请输入查询条件!");
  20:                 return ;
  21:             }
  22:   
  23:             /*
  24:              * Linq语句返回的是System.Linq.IQueryable<KF_Search.Tbl> {System.Data.Linq.DataQuery<KF_Search.Tbl>}对象。
  25:              * 该对象只能通过foreach来循环访问。
  26:              * 因此将其转换为List对象作为表格控件的数据源。
  27:              */
  28:             var kfer = from cc in db.Tbls
  29:                        where cc.Name == strName && cc.Mobile!=""
  30:                        select cc;           
  31:             var dataList = kfer.ToList();
  32:   
  33:             //设置gridControl对象的数据源
  34:             gcDetails.DataSource = dataList;
  35:             gcName.FieldName = "Name";
  36:             gcGender.FieldName = "Gender";
  37:             gcMobile.FieldName = "Mobile";
  38:             gcIDCard.FieldName = "CtfId";
  39:             gcEmail.FieldName = "EMail";
  40:             gcAddress.FieldName = "Address";
  41:   
  42:             MessageBox.Show("总共搜索到 "+dataList.Count+" 条记录!");
  43:         }   

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

3、最终实现结果:

使用C#+Linq+SQL快速开发业务的更多相关文章

  1. 【转】Oracle中如何用一条SQL快速生成10万条测试数据

    转自http://blog.csdn.net/welken/article/details/4971887   做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入, ...

  2. 用SQL快速删除U8账套

    一.问题提出 通过"系统管理"来删除999账套,首先要求你备份然后才能删除.头痛的是: 1)备份需要发费很长的时间,特别是账套数据文件比较大时. 2)备份时,你的本本基本处于死机状 ...

  3. Spark2.x学习笔记:Spark SQL快速入门

    Spark SQL快速入门 本地表 (1)准备数据 [root@node1 ~]# mkdir /tmp/data [root@node1 ~]# cat data/ml-1m/users.dat | ...

  4. SQL 快速参考

    SQL 快速参考 SQL 语句 语法 AND / OR SELECT column_name(s)FROM table_nameWHERE conditionAND|OR condition ALTE ...

  5. SQL 快速参考-----http://www.runoob.com/sql/sql-quickref.html

    http://www.runoob.com/sql/sql-quickref.html SQL 快速参考

  6. SQL-W3School-总结:SQL 快速参考

    ylbtech-SQL-W3School-总结:SQL 快速参考 1.返回顶部 1. 来自 W3School 的 SQL 快速参考.可以打印它,以备日常使用. SQL 语句 语句 语法 AND / O ...

  7. LINQ to SQL快速上手 step by step

    Step1:建立数据库      在使用Linq to Sql前,我们要将相应的数据库建好.在这个Demo中,使用的数据库是SQL Server Express 2005.      我们首先建立一个 ...

  8. linq,sql,lambda转换工具(推荐新手,初学者多多使用)

    http://files.cnblogs.com/CielWater/Linqer.rar Linqer用于将sql语句转换为linq语句(暂不支持多表连接查询) http://files.cnblo ...

  9. ASP.NET LINQ SQL执行超时的问题

    最近在写一个航材取价的程序.由于执行的语句复杂,数据量比较大,容易造成超时. 看提示应该是执行SQL的时候超时,我在程序中用的linq. 实际把SQL语句单独执行的时候观察也要40秒左右. 查资料得知 ...

随机推荐

  1. js数据结构之二叉树的详细实现方法

    数据结构中,二叉树的使用频率非常高,这得益于二叉树优秀的性能. 二叉树是非线性的数据结构,用以存储带有层级的数据,其用于查找的删除的性能非常高. 二叉树 数据结构的实现方法如下: function N ...

  2. 团队作业第六次——团队Github实战训练

    作业格式 课程名称:软件工程1916|W(福州大学) 作业要求:团队作业第六次-团队Github实战训练 团队名称:葫芦娃队 作业目标:确定和分析选题,绘制评审表 github地址:https://g ...

  3. javascript高级部分

    回顾 回顾: 整体: - HTML - CSS - JavaScript - 基本数据类型 - for,while.. - DOM - obj = document.getElementById('. ...

  4. TYVJ.1864.[Poetize I]守卫者的挑战(概率DP)

    题目链接...无 题目: P1864 [Poetize I]守卫者的挑战 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 打开了黑魔法师Vani的大门,队员们 ...

  5. 潭州课堂25班:Ph201805201 并发(进程,线程)二 第十二课 (课堂笔记

    线程与进程的其他相关操作 import threading # 线程 import multiprocessing # 进程 import socket import time def wo(): g ...

  6. Flask信号源码流程

    1. appcontext_pushed = _signals.signal('appcontext-pushed'# 请求app上下文push时执行 return RequestContext(se ...

  7. crm的知识点整理

    ''' # 1. 通过ChangeList封装好多数据 # 2. 销售中公共资源:Q查询,3天 15天 from django.db.models import F,Q F 使用查询条件的值,专门取对 ...

  8. c++模板 与 泛型编程基础

    C++模板 泛型编程就是以独立于任何特定类型的方式编写代码,而模板是泛型编程的基础. (1)定义函数模板(function template) 函数模板是一个独立于类型的函数,可以产生函数的特定类型版 ...

  9. JavaScript ES6特性

    ES6 核心特性 块级作用域 let : 声明的变量存在块级作用域  不会声明提前 ES5 // ES5 // 声明提前 var x = 'outer'; function test(inner) { ...

  10. weblogic清除缓存

    背景:在开发调试或测试时,很多时候重新更新部署服务后会发现某些更新并没有体现到,还是之前的情况,也或者会出现其他错误问题,这个时候就要考虑到可能是weblogic缓存未清理引起. 可以先尝试下面这种做 ...