LinQ 各种数据库查询方法

1、多条件查询:
并且 &&
或者 ||

var list = con.car.Where(r => r.code == "c014" || r.oil == 8.2m);

2、模糊查询
1.模糊
var list = con.car.Where(r => r.name.Contains("AT"));
2.开头
var list = con.car.Where(r => r.name.StartsWith("皇冠"));
3.结尾
var list = con.car.Where(r => r.name.EndsWith("版"));

3、统计查询
1.总个数
//var count = con.car.Count();
2.最大值
//var Max = con.car.Max(r => r.price);
3.最小值
//var Min = con.car.Min(r => r.price);
4.平均值
//var avg = con.car.Average(r => r.price);

4、分页查询
跳过,获取
int count = 5; //先定义一个变量用作每页显示的条数
int pagecount = 0;

var list = con.car.Skip(pagecount * count 跳过多少条).Take(count取多少条);
一上来pagecount是0,它乘以条数就是跳过多少条,第一次跳过0条,取count条,就是第一页显示的内容,当pagecount变成1,
第二次就是跳过count条,再取条过后的count条,也就是跳过了第一页显示的条数,再取跳过第一页后的这些条数,则就是下一页

5、排序查询
升序
//var list = con.car.OrderBy(r => r.price);//取数据库表中数值类型的一列进行排序
降序
//var list = con.car.OrderByDescending(r => r.price);

去重:
var aaa = con.car.Select(r => r.oil).Distinct();

6、外键显示
return this.brand1.brand_name;//在有主外键关系的表中,查询外键表时,可以点出主键表中任何一列的值,同样主键表如果是
其他表的外键,还可以继续点

7、组合查询
交集
var list = list1.Intersect(list2).Intersect(list3);
-------------------------------------------------------------
var list1 = con.car.AsQueryable();
var list2 = con.car.AsQueryable();
var list3 = con.car.AsQueryable();

if (TextBox1.Text.Trim().Length > 0)
{
list1 = list1.Where(r => r.name.Contains(TextBox1.Text.Trim()));
}
if (TextBox2.Text.Trim().Length > 0)
{
list2 = list2.Where(r => r.brand1.brand_name.Contains(TextBox2.Text.Trim()));
}
if (TextBox3.Text.Trim().Length > 0)
{
list3 = list3.Where(r => r.oil == Convert.ToDecimal(TextBox3.Text.Trim()));
}

var list = list1.Intersect(list2).Intersect(list3);

Repeater1.DataSource = list;
Repeater1.DataBind();

时间: 2024-12-25 17:59:28

LinQ 各种数据库查询方法的相关文章

SQL数据库查询方法

SQL数据库查询方法 简单查询: 一.投影 select * from 表名 select 列1,列2... from 表名 select distinct 列名 from 表名 二.筛选 select top 数字 列|* from 表名 (一)等值与不等值 select * from 表名 where 列名=值 select * from 表名 where 列名!=值 select * from 表名 where 列名>值 select * from 表名 where 列名<值 selec

调用DISCUZ 数据库查询方法进行数据库查询

<?php define('APPTYPEID', 5);//必须的,你懂的 define('CURSCRIPT', 'userapp');//必须的,你懂的 require_once './source/class/class_core.php';//必须的,你懂的 $discuz = & discuz_core::instance();//必须的,你懂的 $discuz->cachelist = $cachelist;//必须的,你懂的 $discuz->init();//必

封装数据库查询方法

---恢复内容开始--- 对于数据繁琐的各式各样的查询语句,每次都要写上一大段查询代码,不仅造成代码冗余,而且还浪费时间.下面给出自己写的一个数据库查询方法封装: 1 public class AllSelect { 2 public static List<Object> Select(String sql,String className) throws Exception{ 3 //连接数据库 4 Connection conn = new MyConnection().getConne

优化SQL Server数据库查询方法

SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没有优

数据库 查询方法详解 以学生老师信息表为例

create table Student--3rd再次执行 ( Sno int primary key not null,--学号主键 Sname varchar(50) not null,--学生姓名 Ssex varchar(50) not null,--学生性别 Sbirthday datetime,--出生年月 Class int--班级 ) truncate table Student--清空表格 insert into Student values(108,'曾华','男','197

resultType和resultMap区别,对一个数据库查询方法的分析

先看一段mybatis的代码 <resultMap id="BaseResultMap" type="com.example.tsfunproj.entity.BaseDataMap"> <id column="id" property="id" jdbcType="INTEGER"/> <result column="MAP_CODE" property=

sql跨数据库查询方法

http://www.cnblogs.com/xingluzhe/archive/2012/02/01/2334311.html SELECT u_name     FROM OPENROWSET('sqloledb','DRIVER={SQL Server};SERVER=119.48.48.152;UID=y_ydgl;PWD=55555////\',DB.dbo.y_users)  where u_name='1'   UNION   allSELECT u_name     FROM O

ci框架自定义数据库查询名称(方法)

适合刚接触PHP和ci框架的人,本人也是小白 原因:官方给的数据库查询方法可能不利于记忆使用,官方给的一些方法只能进行基础查询,每次复合查询都需要拼接条件,自己定义定义方法直接调用方法即可 操作步骤: 1.ci框架官网下载好解压后的文件夹会有application这个目录,在application目录下找到models子目录,在models子目录里建一个PHP文件(名字随便起,如Base_model.php) 这个文件里就是给你写自己定义的数据库查询方法,但开头要这样写(如下),自己定义的方法写

shopnc框架数据库查询限制30条记录

   shopnc框架数据库查询方法:Model()->table("表名")->select();假如你的表中数据大于30条,你查到的 结果中会只显示30条,解决方法是:查询语句中假如limit方法,即Model()->table("表名")-> limit(false)->select();