zoukankan      html  css  js  c++  java
  • 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>这个东西了!

  • 相关阅读:
    mysql的权限定义
    数据库的启动流程和关闭介绍/mysql初始化配置文件
    SQL 执行顺序
    AJAX 同步请求锁浏览器
    JSON
    Json.NET
    JSON.parse()和JSON.stringify()
    the XMLHttpRequest Object
    命名方式
    varchar 和 nvarchar 的区别和使用
  • 原文地址:https://www.cnblogs.com/cdts_change/p/1626103.html
Copyright © 2011-2022 走看看