使用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: }
3、最终实现结果:
使用C#+Linq+SQL快速开发业务相关推荐
- SQLITE sql 快速搜索
Sqlite(sql 快速查询) 建表: create table 删表: drop table 改表: alter table { 该表名: alter table旧表名 ren ...
- SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )
SQL 先说点废话,很久没发文了,整理了下自己当时入门 SQL 的笔记,无论用于入门,回顾,参考查询,应该都是有一定价值的,可以按照目录各取所需.SQL数据库有很多,MySQL是一种,本文基本都是SQ ...
- Lambda表达式 Linq SQL Server 分组后获取第一条数据或最小(最大)数据
1.Lambda表达式 以下是从网上粘贴下来 经测试失败 提示方法"First"只能用作最终查询操作.请考虑在这个实例中使用方法"FirstOrDefault" ...
- spark SQL快速入门 1-9 慕课网
1.hadoop安装 1.修改hadoop配置文件hadoop-env.shexport JAVA_HOME=/home/hadoop/app/jdk1.8.0_91core-site.xml< ...
- 实时数仓建设第2问:怎样使用flink sql快速无脑统计当天下单各流程(已发货,确认收货等等)状态的订单数量
实时统计当天下单各流程状态(已支付待卖家发货,卖家通知物流揽收,待买家收货等等)中的订单数量. 订单表的binlog数据发送到kafka,flink从kafka接受消息进行指标统计.因为每笔订单的状态 ...
- SQL 快速入门2.1
MySQL top(MySQL limit)语法 SELECT column_name(s) FROM table_name LIMIT number 例子 SELECT * FROM Person ...
- PL/Sql快速执行 insert语句的.sql文件
当全是 insert语句的.sql文件太大时(insert 语句条数太大),直接打开执行sql文件,pl/sql会卡死. 这是可以用pl/sql的命令窗口来执行.sql文件,操作步骤如下: 1.新建命 ...
- LINQ SQL分组取最近一条记录
最近项目有一个需求,从订单表查询出每个客户最近一条订单记录.数据库表结构如下图 SELECT * FROM (select ROW_NUMBER()over(partition by [custid] ...
- SQL快速入门、查询(SqlServer)[郝斌SqlServer完整版]
文章目录 SQL学前导图 一 .基本信息 1 相关名词 数据库相关基本概念:字段.属性.记录(元祖).表.主键.外键 2 基本语句 3 约束:主键约束.外键约束.check约束.default约束.唯 ...
最新文章
- 机器学习和洗衣机的关系?
- WCF .net Tcp 错误异常
- AI 四巨头 Google、DeepMind、Microsoft、Uber 深度学习框架大比拼
- SAP MM 条件类型中PB00的‘Group Cond.‘标记的作用?
- .net Core 安装在linux上
- (转)淘淘商城系列——实现图片上传功能
- C++常见错误:LINK:fatal error LNL1123:转换到COFF期间失败,文件无效或者损坏
- jinja Extends Blocks Include
- uva 1378 - A Funny Stone Game sg博弈
- Mapreduce和Yarn概念,参数优化,作用,原理,MapReduce计数器 Counter,MapReduce 多job串联之ControlledJob(来自学习资料)...
- Mootools:Hash中的null值
- 文字处理技术:研究下划线,得到一个奇怪的数字4.55
- C# 组成结构、数据类型、运算符 以及 基本语法练习
- SqlServer 2008还原数据库步骤
- 谷歌搜索没有相机图标_关于Google图片网站不能以图搜图的解决方案
- Base64和Base64URL加解密
- 为什么说信息是负熵?
- 面向对象与面向过程编程
- Map转为String
- imperva ssl加速卡查询
热门文章
- 吃自助餐怎么样一个顺序吃法才合算?
- DNS解析与Bind的使用(2)
- 基于Windows环境下MyEclipse10快捷键总结
- centos7系统/etc/resolv.conf 配置DNS客户
- G面经prepare: Reorder String to make duplicates not consecutive
- 数据结构练习 00-自测1. 打印沙漏(20)
- unicode 版本 delphi (如XE2)的 TBytes 转换为 AnsiString
- 为什么用lazy启动eclipse的时候,插件activator的start自动被调用
- javascript中parentNode,childNodes,children的应用详解
- 专为设计师而写的GitHub快速入门教程