使用C#+Linq+SQL快速开发业务

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、最终实现结果:

时间: 2024-11-06 03:37:02

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

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

转自http://blog.csdn.net/welken/article/details/4971887 做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条SQL快速生成大量的测试数据的方法. 产生测试数据的SQL如下: SQL> select rownum as id,  2                 to_char(sysdate + rownum / 24 / 3600, 'yyyy-mm

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

http://files.cnblogs.com/CielWater/Linqer.rar Linqer用于将sql语句转换为linq语句(暂不支持多表连接查询) http://files.cnblogs.com/CielWater/LINQPad4.zip LinqPad用于将linq语句转换为sql.lambda语句 linq,sql,lambda转换工具(推荐新手,初学者多多使用),布布扣,bubuko.com

SQL 快速参考

SQL 快速参考 SQL 语句 语法 AND / OR SELECT column_name(s)FROM table_nameWHERE conditionAND|OR condition ALTER TABLE ALTER TABLE table_name ADD column_name datatype or ALTER TABLE table_name DROP COLUMN column_name AS (alias) SELECT column_name AS column_alia

SQL 快速新增权限数据表(使用cross join)

摘要:SQL 快速新增权限数据表(使用cross join) 1.因为设计系统的时候 将角色 权限 系统都做了分开处理 偏偏交集起来相当多数据 2.决定不自己打 使用cross join 先练习一下一般的语法 --use 数据库 --select a.浏览,a.修改,a.删除,b.系统名称,c.角色名称 --from 角色权限 as a --cross join 系统 as b --cross join 角色 as c --go 像这样 3.开始改写 使用cross join --先清空表单 已

SQL快速操作技巧2_datatable批量更新到数据表

(为了给您节省时间,您可以只看高亮部分内容) 要将datatable 批量更新到数据表其实是两步: (1)将datatable快速存入一个表中: (2)根据一个数据表更新另外一个数据表: 下面细说: (1)将datatable快速存入一个表中: 1)   insert循环插入:2)   sqldataadapter.update(dataset,tablename);3)   sqlbulkcopy.WriteToServer(datatable); 1.生成测试的datatable表,表结构如

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

最近在写一个航材取价的程序.由于执行的语句复杂,数据量比较大,容易造成超时. 看提示应该是执行SQL的时候超时,我在程序中用的linq. 实际把SQL语句单独执行的时候观察也要40秒左右. 查资料得知 SqlCommand.CommandTimeout 获取或设置在终止执行命令的尝试并生成错误之前的等待时间. 等待命令执行的时间(以秒为单位).默认为 30 秒. 实际观察的时候也发现,一般提示出错就是在执行语句30秒的时候. 为解决此问题可以在程序中自定义设置执行语句超时的时间. 传统的ADO.

Sql快速查看表结构

Sql数据库使用语句快速查看表结构 --快速查看表结构 SELECT CASE WHEN col.colorder = 1 THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 , col.name AS 列名 , ISNULL(ep.[value], '') AS 列说明 , t.name AS 数据类型 , col.length AS 长度 , ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'),

sql快速参考

SQL 语句 语法 AND / OR SELECT column_name(s)FROM table_nameWHERE conditionAND|OR condition ALTER TABLE ALTER TABLE table_name ADD column_name datatype or ALTER TABLE table_name DROP COLUMN column_name AS (alias) SELECT column_name AS column_aliasFROM tab

SQL快速入门

关系化数据库保存关系模式数据的容器关系模式是对业务对象实体,属性以及关系的抽象,提炼需求的名词是建立实体关系模型常用的方法.要了解E-R实体关系图的绘制.常用关系数据库Microsoft SQL Server:微软公司产品,中等规模数据库,运行在window平台,一般结合.net开发平台使用Oracle:甲骨文公司产品,大型商业数据库,可以运行在任何操作系统上,经常与java一起使用.MySQL:最初是一个开源免费的数据库产品,中小型数据库,轻便,互联网行业主流数据库SQLITE:嵌入式数据库,