首先 什么是linq呢 ?

LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性。

它是.NET框架的扩展,它允许我们以数据库查询的方式查询数据集合。

借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据。

接下来讲讲我工作中用到的

linq中的数组筛选数据库中的数据

public List GetList1(string cardPhone,string[] carNo)
        {
            var q = from r in DB().TAB_TEL_ADVISORY
                    where r.CUST_TEL == cardPhone || carNo.Contains(r.CAR_NO)
                    select new TelAdvisory
                    {
                        ID = r.ID,
                        CustTel = r.CUST_TEL,
                        CustName = r.CUST_NAME,
                        CarNo = r.CAR_NO,
                        AdvisoryContent = r.ADVISORY_CONTENT,
                        AdvisoryDate = r.ADVISORY_DATE,
                        AnswerResult = r.ANSWER_RESULT,
                        Server = r.SERVER,
                    };
            return q.ToList();
        }

LINQ中的增删改都要调用SubmitChanges方法

public bool ResetPassword(UserType type, int userId, string newCryptPassword)
        {
            var db = DB();
            try
            {
                switch (type)
                {
                    case UserType.雇员:
                        {
                            var tab = db.TAB_EMPLOYEE.Single(r => r.ID == userId);
                            tab.LOGIN_PWD = newCryptPassword;
                            break;
                        }
                    case UserType.合作商:
                        {
                            var tab = db.TAB_PARTNER.Single(r => r.ID == userId);
                            tab.LOGIN_PWD = newCryptPassword;
                            break;
                        }
                }
                db.SubmitChanges();
                return true;
            }
            catch
            {
                return false;
            }
        }

db.account.DeleteOnSubmit(account);
db.account.InsertOnSubmit(account);
 db.SubmitChanges();

linq中的搜索条件,传入的参数是空的或者有值的,或者是关键字

query = (from r in db.TAB_PARTNER
               where ((partnerType != -1 && r.partner_type == partnerType) || partnerType == -1)

&& ((searchKey != "" && r.PARTNER_NAME.IndexOf(searchKey) > -1) || searchKey == "")

orderby r.partner_type ascending

linq to sql分页的问题

Skip(100)代表跳过100行后.从第101行开始分页;

take(10)表示多少行分页; pagesize为每页显示的数据条数

q.Skip(PageSize * (CurrentPage - 1)).Take(PageSize).ToList();

Sliverlight linq中的数组筛选数据库中的数据的更多相关文章

  1. EF Core 中多次从数据库查询实体数据,DbContext跟踪实体的情况

    使用EF Core时,如果多次从数据库中查询一个表的同一行数据,DbContext中跟踪(track)的实体到底有几个呢?我们下面就分情况讨论下. 数据库 首先我们的数据库中有一个Person表,其建 ...

  2. 纯静态界面中(html)中通过js调用dll中的方法从数据库中读取数据

    最近接到一个离职员工的任务,一个搭好框架的ERP系统,看了两天,说一下看到的东西,整个项目目录中我没发现一个.aspx后缀的文件,全是静态HTML文件,之后发现他用的jquery简直看的头疼,不过大概 ...

  3. MyBatis中使用实体中使用枚举,数据库中使用数值

    一.简介 本文主要讲MyBatis中使用实体中使用枚举,数据库中使用数值的解决方案.正常直接使用会报错,需要添加typeHandlers在mybatis-config.xml中. 二.解决方案 如下: ...

  4. Python:判断文本中的用户名在数据库中是否存在,存在返回1,不存在返回0

    下面是我写的python的一个小脚本,作用是:判断文本中的用户名在数据库中是否存在,存在返回1,不存在返回0.用的是MySQL数据库. 要注意的是:strip函数的使用,该函数的作用是去除字符串两端多 ...

  5. C#不允许在foreach循环中改变数组或集合中元素的值(注:成员的值不受影响)

    C#不允许在foreach循环中改变数组或集合中元素的值(注:成员的值不受影响),如以下代码将无法通过编译. foreach (int x in myArray) { x++; //错误代码,因为改变 ...

  6. 解决SpringDataJpa实体类中属性顺序与数据库中生成字段顺序不一致的问题

    一.在application.yml配置中添加数据库根据实体类自动创建数据库表的配置(这里数据库采用MySQL数据库) jpa: database: MYSQL show-sql: true #Hib ...

  7. Ext.net中Combobox如何绑定数据库中的值-通用方法

    今天在项目中再次碰到了问题,就是Combobox中的值如果是直接绑定很简单.简单添加项就行了.代码如下: <ext:ComboBox ID=" /> </Items> ...

  8. Redis中的批量删除数据库中的Key

    本文参考:http://blog.csdn.net/spring21st/article/details/15771861 http://stackoverflow.com/questions/575 ...

  9. c# 在datagridview中添加comboboxcolumn 绑定数据库读取显示数据

    datagridview中的comboboxcolumn 从绑定的数据库中读取显示时,只需要注意一点,就是sql语句加个 CStr() 字符串转换函数即可,如下: SELECT CStr(XXX) a ...

随机推荐

  1. leetcode面试准备:Container With Most Water

    leetcode面试准备:Container With Most Water 1 题目 Given n non-negative integers a1, a2, ..., an, where eac ...

  2. 解决MySQL服务启动时报1067错误

    工具/原料 MySQL_5.6.24_win32 方法/步骤 当我们安装完Mysql时,如果在服务当中(可以在“运行”-->"service.msc"打开并查看)无法看到My ...

  3. ♫【MV*】

    MVC数据(模型) 展现层(视图) 用户交互层(控制器) MV*MVW, MVVM, MVC JavaScript MVC框架PK:Angular.Backbone.CanJS与Ember JavaS ...

  4. poj 2932 Coneology(扫描线+set)

    Coneology Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 3574   Accepted: 680 Descript ...

  5. Ubuntu12.04-64bits搭建FFmpeg环境

    所有的环境搭建动作请参考FFMpeg官方网站:http://www.ffmpeg.org/index.html 1. 获取源代码: git clone git://source.ffmpeg.org/ ...

  6. NOI2007 货币兑换

    [问题描述] 小 Y最近在一家金券交易所工作.该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和B纪念券(以下简称B券).每个持有金券的顾客都有一个自己的 帐户.金券的数目可以是一个实数.每天 ...

  7. IoC/DIP其实是一种管理思想

    关于IoC的的概念提出来已经很多年了,其被用于一种面象对像的设计.我在这里再简单的回顾一下这个概念.我先谈技术,再说管理. 话说,我们有一个开关要控制一个灯的开和关这两个动作,最常见也是最没有技术含量 ...

  8. Prebrowsing

    同事推荐的文章: http://www.stevesouders.com/blog/2013/11/07/prebrowsing/

  9. hdoj 2074 叠筐

    叠筐 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  10. ARCGIS 点抽稀的实现

    点抽稀是制图综合的一部分,即在点数据点特别密集是,需要选取比较重要的点而舍去不要重的点,使得图面整洁. 一.基本原理 先把所有的点符号都设成透明.这样显示是没有点的.然后给这些点设置标注.标注方法很奇 ...