• LinQ to SQL 之 Lambda表达式


    这两天因为做项目用到LinQ to SQL 的 Lambda表达式,在调试的时候顺便总结了下用法:

    GroupBy 有 AS 无 点 有 it
    OrderBy 无 AS 无 点 有 it
    Select  无 AS 无 点 无 it(单一)
    Select  有 AS 无 点 有 it(Sum)

    例子是:

    string groupBy="it.Date AS Date, it.Product.Name AS ProductName";(AS后面的名称不能有“.”)

    string orderBy="it.Date,it.ProductName";(此处没有AS,用到的名称全部是groupBy的AS后的名称,但是带有it)

    string select="Date,ProductName,SUM(it.Money) AS Money";(在select中除了SUM以外的字段全都没有it,SUM后一定要有AS,AS后的字段名也不能有“.”)

     ObjectQuery<DbDataRecord> query = context.Entity.Where(where).GroupBy(groupBy, select).OrderBy(eorderBy)

    PS:好像OrderBy要放在GroupBy之后

    还有就是,context后面跟的Entity必须是表名,但是如果想不在这里定死表名,由传入参数来决定,可以使用以下的定义方法:

    ObjectQuery<TEntity> query = context.CreateQuery<TEntity>(collectionName);
     IQueryable<TEntity> source = query.AsQueryable();
    source = source.Where(condition.Expression).OrderBy(orderBy);

    但是此处至少要指明TEntity的接口,其他类可继承此接口,就可以了。

    但是如果连接口都不想指定,那么就等Visual Studio 2010 吧!听说.NetFramework 4.0 就不需要<TEntity>这个东西了!

  • 相关阅读:
    AirFlow性能调优
    AirFlow通过账号密码➕角色权限控制来登陆
    通过Supervisor管理airflow的webserver进程和scheduler进程
    CSS基础一
    html学习
    Linux下MySQL远程链接配置
    搭建Firekylin博客
    Vuejs开发环境搭建及热更新
    templates页面超链接访问Controller方法
    Chrome搜索设置
  • 原文地址:https://www.cnblogs.com/cdts_change/p/1626103.html
Copyright © 2020-2023  润新知